2011/03/24

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

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

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

以下、ソースコードです。
  1. Dim strShellCommand As String     ' シェルコマンド  
  2. Dim objWSH As Object              ' WSH  
  3.   
  4. strShellCommand = " "             ' 実行したいコマンド  
  5.       
  6. ' WSHを使ってコマンドを実行する  
  7. Set objWSH = CreateObject("WScript.Shell")  
  8. objWSH.Run strShellCommand, vbNormalFocus, True ' 第3引数がTrueなら、同期実行  
  9. Set objWSH = Nothing              ' オブジェクトを解放  

0 件のコメント:

コメントを投稿