2011/03/24

[Excel VBA] プログラムを同期実行する方法

Shell関数を使用すれば、任意のプログラムを実行できます。
しかし、Shell関数は非同期での処理となります。
そのため、プログラムの終了を待たずに
Shell関数以降のステートメントが実行されます。

非同期での処理では都合が悪いケースがあるため、
同期実行する方法を以下に示します。

以下、ソースコードです。
Dim strShellCommand As String     ' シェルコマンド
Dim objWSH As Object              ' WSH

strShellCommand = " "             ' 実行したいコマンド
    
' WSHを使ってコマンドを実行する
Set objWSH = CreateObject("WScript.Shell")
objWSH.Run strShellCommand, vbNormalFocus, True ' 第3引数がTrueなら、同期実行
Set objWSH = Nothing              ' オブジェクトを解放

0 件のコメント:

コメントを投稿