|   |  
秀まるおさん、こんにちは。 
検索フォルダ、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おわり 
 
			 | 
		  
	 |