|
該当する機能はマクロを使わないと出来ないと思います。
マクロを使うなら、例えば以下のようなマクロになります。
--------------------------------------------------------------------
loaddll "tkinfo.dll";
if( dllfunc("IsThreadView") ) {
message "スレッド表示だと実行できません。";
endmacro;
}
#viewarea = dllfunc("ViewArea");
if( #viewarea != 5 ) {
#n = dllfunc("SetViewArea", 5);
}
#total = dllfunc("MailCount");
if( #total == 0 ) {
message "添付ファイル付きメールが1つもありません。";
#n = dllfunc("SetViewArea", #viewarea );
endmacro;
}
#i = 0;
InputPath:
$dest = input( "添付ファイルを保存する先のフォルダのフルパス名は?"
+ "\n\n(例: c:\\folder)" );
if( $dest == "" ) {
endmacro;
}
if( ! existfile( $dest + "\\." ) ) {
message "指定されたフォルダが存在しません。"
+ "入力しなおしてください。";
goto InputPath;
}
while( #i < #total ) {
#n = dllfunc("SetMailIndex", #i );
#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 );
$command = "xcopy.exe \"" + $src + "\" \""
+ $dest + "\\" + midstr( $src, #xFolder + 1, 256 )
+ "\" /S /I";
runsync2 $command;
}
#i = #i + 1;
}
#n = dllfunc("SetViewArea", #viewarea );
run "start " + $dest;
|
|