|
cumaさん、こんにちは。hi_sugarです。
ポップアップメッセージを出すことの代案として以下のアイディアはどうでしょ
うか。
1.草稿フォルダに"覚書"なるフォルダを作成し、そこに特定アドレス向けの覚書メー
ルを作り保存する。(これは実際には送信しません。)
2.返信メール作成時(送信時に自動的に起動するマクロで)に、返信メールのToヘッ
ダーにあるアドレスをもった覚書フォルダにあるメールを検索しそれを表示する。
以下はメールアドレスから覚書メールを表示するサンプルマクロです。
※注意
以下のマクロでは覚書フォルダの先頭にあるメールは検索対象からはずれてしまい
ます。次バージョンではそれを補う関数が追加される予定ですので、
"<---注意"の"FindDown"を”FindDownInclude"に置き換えてください。
//------- ここから ---------------
$memo = "草稿\\覚書" ;
loaddll "tkinfo.dll";
if( dllfunc( "MailType" ) != 1 ) goto End ; // 返信でなければ終了
// To リストの取得
$$to = dllfuncstr("CurrentHeader", "To" );
##i = 0 ;
#to_num = dllfunc("CountEmailList", $$to);
while ( ##i < #to_num ) {
$to_list[##i] = dllfuncstr("SetEmailOnly",
dllfuncstr("GetEmailList", $$to, ##i));
##i = ##i + 1 ;
}
// 鶴亀本体のハンドル取得
#main_handle = dllfunc("MainWnd") ;
#rep_handle = hidemaruhandle(0) ;
// 鶴亀本体へ
setactivehidemaru #main_handle ;
$restoreaccount= dllfuncstr( "CurrentAccount" ) ;
$restorefolder= dllfuncstr( "CurrentFolder" ) ;
if (! dllfunc( "SelectFolder", "", $memo ) ) {
message "フォルダの選択に失敗しました。" ;
goto MainEnd ;
}
if (dllfunc("IsThreadView")) ##n = dllfunc( "SetThreadView", 0);
#memo_num = dllfunc("MailCount") ;
if ( #memo_num == 0 ) goto MainEnd; // 覚書なければ終了
##i = 0 ;
#memmo_cnt = 0 ;
while ( ##i < #to_num ) {
$target = "(\"" + $to_list[##i] +
"\",target=to),subfolder=1,inmail=0";
if (! dllfunc("SetFindPack",$target) ) goto MainEnd ;
##n = dllfunc("SetMailIndex",0) ;
disableerrormsg ; // 音を消す
if ( dllfunc("FindDown") ) { // <--注意 鶴亀Ver 1.86まで
while (1) {
##n = dllfunc("OpenMail") ; // 覚書を開く
setactivehidemaru #main_handle ;
#memo_cnt = #memo_cnt + 1 ;
disableerrormsg ; // 音を消す
if ( ! dllfunc("FindDown") ) break ;
}
}
##i = ##i + 1 ;
}
enableerrormsg ;
MainEnd:
##n = dllfunc( "SelectFolder", $restoreaccount, $restorefolder );
setactivehidemaru #rep_handle ;
if ( #memo_cnt != 0 ) {
message "覚書メールが"+str(#memo_cnt)+"通あります。";
}
End:
freedll ;
endmacro ;
//----- ここまで------------------
※特定キーワードポップアップの場合は覚書フォルダにキーワードをSubjectとした
メールを作成しておき、それが元メールにふくまれているか逆に検索したらどうでし
ょうか。
補足:
私も草稿フォルダに各種メモ類をたくさんおいてあります。それらはほとんど
は実際に送信するものではありません。そこで誤送信防止のために、送信しない
メールのtoヘッダーの先頭に"!"を入れておき、後で送信/今すぐ送信時に起動す
るマクロとして以下のマクロを登録してあります。
//------- ここから ---------------
loaddll "tkinfo.dll";
$to = dllfuncstr("CurrentHeader", "To" );
if (strstr($to,"!") == 0) {
message "このメールは送信できません。";
##n = dllfunc("SetCancel", 1);
}
freedll ;
endmacro ;
//----- ここまで------------------
よろしかった参考にしてください。
|
|