|
秀まるおさん、こんにちは。
検索フォルダ、3枠区切りでマクロで編集、保存後にSetMailFlag"altered"を実行すると
下記メッセージが表示されます。
2枠区切りや、通常フォルダだとこの事象は発生しません。
回答よろしくお願いいたします。
メッセージ
まだ保存されていないメール上でSetMailFlag/SetMailColor/GetMailColor/SetMailT
ransmitDate/GetMailSize関数は使えません。
私の作ったマクロで、3枠区切り、検索フォルダを使用していると
上記メッセージがでていて、なんでだろうと思っていたのですが、
マクロをどんどん短くして下記マクロででるのが確認できました。
Ver5.19のベータ版で事象がずーっとでていたのですが、なかなか
マクロのどの部分ででているのかわからなかったので、報告が遅くなりました。
正式版がでちゃいましたが、よろしくお願いします。
環境:
OS:Windows XP Home
秀丸メール Ver5.19正式版
//debug.mac
loaddll "TKInfo.dll";
if(dllfunc("ExecAtMain","MailIndex") != -1){
//現在のメールの改変情報を取得
##altered = dllfunc("ExecAtMain","GetMailFlag", "altered");
//秀丸メール本体上で、マクロによるメールの書き換えを許可
##n=dllfunc("ExecAtMain","BeginEditMail");
$$wk = dllfuncstr("CurrentDate") ;
//Headerの削除
##n = dllfunc("ExecAtMain", "DeleteHeader", "Schedule" );
//Headerの削除
$$s = dllfuncstr("ExecAtMain","SetHeader", "Date",$$wk);
//メールの保存
##n=dllfunc("ExecAtMain", "SaveEditMail",0,0);
$$sub =
dllfuncstr("ExecAtMain","CurrentHeader", "Subject") ;
if(##n ==0){
message
$$sub +
"\nメール保存失敗" ;
}
//現在のメールの改変情報を取得
##n = dllfunc("ExecAtMain","GetMailFlag", "altered");
message
"altered flag before=" + str(##altered) + "\n" +
"altered flag after =" + str(##n) + "\n" ;
if(##altered == 0){
message "SetMailFlag Pre" ;
##n = dllfunc("ExecAtMain","SetMailFlag","altered", 0);
message "SetMailFlag Post" ;
}
//メッセージ表示用処理
openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
$$pane = str(getregnum( "pane" ));
closereg ; //レジストリを閉じます
##n = dllfunc("ExecAtMain","GetFolderPropFlags");
//検索フォルダの場合
if((##n & 0x10) == 0x10){
$$grepfolder = "フォルダ=検索フォルダ\n" ;
}
else{
$$grepfolder = "フォルダ=通常フォルダ\n" ;
}
$$m =
$$pane + "枠区切り\n" +
"題名" + $$sub + "\n" +
dllfuncstr("ExecAtMain","CurrentFolder" ) +
$$grepfolder;
message $$m ;
}
else message "メール選択してください" ;
freedll;
endmacro;
//debug.macおわり
|
|