投稿日 | : 2006/05/31(Wed) 11:01 |
投稿者 | : Blue |
Eメール | : |
URL | : |
タイトル | : Re: Shell関数の戻り時間に差が・・・ |
> 「原因追求しなさい」との命令に逆らえません。
原因は Shell関数 のつくりそのものです。
Shell関数のヘルプにもありますが、
<引用>
メモ
既定の設定では、Shell 関数はプログラムを非同期的に実行します。
したがって、Shell 関数を使用して実行を開始したプログラムが終了しなくても、
Shell 関数の次のステートメントは実行されます。
</引用>
と、非同期実行するとあります。Sleepしないときうまくいっていたのはたまたまなのでは?と思います。
> Shell関数以外の起動方法がある事は、知っているのですが
一番簡単な解決方法は、WScript.ShellオブジェクトのRunメソッドを使うとか。
サンプル)
Sub test1()
Shell "calc"
MsgBox "オワ"
End Sub
Sub test2()
CreateObject("WScript.Shell").Run "calc", 1, True
MsgBox "オワ"
End Sub