|
Iranoan さん、ありがとうございます。
教えていただいたものを参考に作りましたが、マクロの最後の行が「ブロックの対応
が合いません」ということで、動きません。
WINDOWSXP SP1です。
なお、下記のようなマクロにしました。どこがおかしいでしょうか。
//---------------- delete attachment file ---------------------------
loaddll "tkinfo.dll";
if( dllfunc("IsThreadView") ) {
message "スレッド表示だと実行できません。";
goto End;
}
#viewarea = dllfunc("ViewArea");
if( #viewarea != 5 ) {
#n = dllfunc("SetViewArea", 5);
}
#total = dllfunc("MailCount");
if( #total == 0 ) {
message "添付ファイル付きメールが1つもありません。";
#n = dllfunc("SetViewArea", #viewarea );
goto End;
}
#tmp = dllfunc( "SetFindPack","flag=unread|mark|color, inmail=0" );
if( !dllfunc( "FindDownInclude" ) ){
if( !dllfunc( "FindUpInclude" ) ){
question "未読、マーク、色付きメールがありません。\nマクロを終了しますか?";
if( result )goto End;
}
}
#i = 0;
while( #i < #total ) {
#n = dllfunc("SetMailIndex", #i );
#i = #i + 1;
if( dllfunc( "GetMailFlag","unread") | dllfunc( "GetMailFlag","mark") |
dllfunc( "GetMailColor" ) )continue;
#x = 0;
$attach = dllfuncstr("CurrentHeader", "X-Attach");
if( $attach != "" ) {
$src = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount")
+ "\\" + $attach;
// フォルダ名のみに変換する。
#xFolder = -1;
#xFile = -1;
while(1) {
#x = strstr( midstr( $src, #xFile + 1, 256 ), "\\" );
if( #x < 0 ) {
break;
}
#x = #x + #xFile + 1;
#xFolder = #xFile;
#xFile = #x;
}
$src = leftstr( $src, #xFile );
if( existfile( $src ) ) {
runsync2 "rd \"" + $src + "\" /S /Q";
}
#n = dllfunc("SetViewArea", #viewarea );
End:
freedll;
endmacro;
|
|