|
とりあえず、今現在選択しているフォルダを上または下に移動するマクロを
作ってみました。それを使って欲しいです。
実行すると「上に移動」および「下に移動」っていうメニューが出てくるの
で、それの好きな方を選択すると移動します。
アカウントも移動出来ます。
移動出来るのは、あくまで同じ兄弟レベルの中での上下関係だけです。
loaddll "tkinfo.dll";
$home = dllfuncstr("HomeDir");
$account = dllfuncstr("CurrentAccount");
$folder = dllfuncstr("CurrentFolder");
if( $folder == "" ) {
$path = $home + "subdir.bin";
$base = $account;
} else {
#xBase = 0;
#x = 0;
while( midstr( $folder, #x, 1 ) != "" ) {
if( midstr( $folder, #x, 1 ) == "\\" ) {
#xBase = #x + 1;
}
#x = #x + 1;
}
if( #xBase == 0 ) {
message "移動出来ません。";
endmacro;
}
$parent = $home + $account + "\\" + leftstr( $folder, #xBase );
$base = midstr( $folder, #xBase, 999 );
$path = $parent + "subdir.bin";
}
if( ! existfile( $path ) ) {
message $path;
message "移動出来ません。";
endmacro;
}
menu "上に移動", "下に移動";
#result = result;
if( #result == 0 ) {
endmacro;
}
#n = dllfunc("NewMail");
#n = dllfunc("SwitchHeaderView", 0);
gofiletop;
beginsel;
gofileend;
delete;
insertfile $path;
while(1) {
searchdown2 $base;
if( !result ) {
message "エラーです。";
endmacro;
}
if( x == 0 && linelen == strlen($base) ) {
break;
}
right;
}
golinetop;
beginsel;
down;
cut;
if( #result == 1 ) {
up;
paste;
} else {
down;
paste;
}
saveas $path;
#handle = hidemaruhandle(0);
#n = dllfunc("SetMainWndTop");
closehidemaruforced #handle;
#n = dllfunc("RefreshFolder");
|
|