|
マイケルさん今日は、ひろです。
本題から離れますが、ご容赦を。
> 初心者でもメールの数が多い、メールの種類が多いって人が結構あ
> ります。
> “初心者”の一言で済ませてますが、メーラやインターネットのこ
> とを勉強する時間もないほど本業が忙しい人もいるんですね。
この辺りは解ります。ただそういった人のための、ユーザーどうしでコミュ
ニケーションが取れる場としても、こういった会議室の意味があるのだと思
います。
また現在でもマクロでも可能なので、標準の機能としてるける必要がある
のか、ということです。この先同じ要望を持つ人が多い場合は異なりますが、
今回の cuma さんやマイケルさんならば、直接ヘッダを編集したり、マクロ
でもよくありませんか?
試しに末尾にサンプルマクロつけておきました。ただし削除する場合は、
どういった UI が適当か解りませんので、削除機能が付いていません(^^;。
P.S こういったマクロを書いていると、「一覧に表示する項目」→「特定
ヘッダの内容」を複数個指定、メールのフラグ変更する DLL 関数のが欲し
くなります(^^;。(後者は要望一覧には載っている)
//---------------------- sample macro to add memo -------------------
//メモの種類
$memo[1] = "技術的な発見";
$memo[2] = "座右の銘";
//以下同様 ただし番号は 1 以上の連番にすること
loaddll "tkinfo.dll";
call Check;
call SelectMemo;
$$addMemo = $$return;
if( dllfunc("IsTuruKameMain") ){
if( !dllfunc("OpenMail") )goto DllError;
#openMail = 1;
}
else{
#openMail = 0;
#x = x;
#y = y;
}
if( readonly ){
if( !dllfunc("EnableEdit") )goto DllError;
}
#head = dllfunc("HeaderView");
#tmp = dllfunc("SwitchHeaderView",2);
$tmp = dllfuncstr("AddHeader","X-memo",$$addMemo);
#tmp = dllfunc("SwitchHeaderView",#head);
save;
if( !dllfunc("IsMarked") )#tmp = dllfunc("SwitchMark");
if( #openMail ){
##edit = hidemaruhandle(0);
#main = findwindowclass("TuruKameFrame");
setactivehidemaru #main;
closehidemaru ##edit;
}
else moveto #x,#y;
goto End;
DllError:
message "DLL 関数失敗";
End:
freedll;
endmacro;
SelectMemo:
$memo[0] = "メモの種類を選択してください。";
##memo = 1;
while(1){//$memo の作り直し
$$memo = $memo[##memo];
if( $$memo == "")break;
$memo[##memo] = "(&" + str(##memo) + ")" + $$memo;
##memo = ##memo + 1;
}
$memo[##memo] = "(&X)終了";
##memo = ##memo + 1;
while(1){
menuarray $memo,##memo;
if( result == 0 || result == ##memo)goto End;
else if( result == 1)continue;
else{
$$memo = $memo[result - 1];
$$memo = rightstr($$memo,strlen($$memo) - strstr($$memo,")") - 1);
##i = 0;
##Xmemo = dllfunc("CountCurrentHeader","X-memo");
while( ##i < ##Xmemo){
if( dllfuncstr("CurrentHeader2","X-memo",##i) == $$memo )goto End;
##i = ##i + 1;
}
return $$memo;
}
}
Check:
if( dllfunc("MailType") == -1)goto End;
if( dllfunc("IsTuruKameMain") )##windowMax = 14;
else{
openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
if(getregnum("InEditorReply"))##windowMax = 15;
else ##windowMax = 14;
closereg;
}
if( hidemarucount > ##windowMax){
message "ウィンドウの数が多すぎるので、マクロを終了します";
goto End;
}
return;
|
|