|
ひろさん、こんばんは。
杉浦 まさき です。
>> 2.マクロ処理中にダイアログボックスを出して処理中ですと表示させたいのですが
> これはおそらく出来ないと思います。
> 誰かご存じの方、私にも教えてください(^^)。
うーん、よく考えるとマクロサーバ使っても難しいですね(^^;。
で、全ての場合についてできるわけではないですが、
while ループかなんかで処理をするような場合については
以下の様な感じで何とかなるんじゃないでしょうか?
#ちょっと危険な処理のような気もしますが(^^;。
//-----------------------------//
// original code
while( 1 ){
// 処理の内容
}
endmacro;
//-----------------------------//
//-----------------------------//
// 「処理中です」ダイアログ表示版
run "macserv.exe";
ddeinitiate "HideMacroServer", "AllService";
ddepoke "newdialog", "20,秀丸マクロ";
ddepoke "newcontrol", "text,,処理中です";
ddepoke "newcontrol", "defbutton,,中止";
ddepoke "notify", "10";
$item = "";
ddestartadvice "dlgresult", $item;
ddeexecute "dialog lastactiveparent";
while( 1 ){
ddewaitadvice $item, 10;
if( $item != "" ) break;
// original code の処理の内容
// 終わったら break でループを抜ける
}
ddeexecute "enddialog";
ddestopadvice "dlgresult";
ddeexecute "exit";
endmacro;
//-----------------------------//
ちなみに、書いただけでテストはしてないので(^^;、
使用する時は各人の責任で行って下さい。>使う人
|
|