VBAで外部プログラムを非表示で実行するには
VBAとVBScriptを混同しているのかもしれませんがよく分からないので教えてください。
Excel2010のVBAから、外部プログラム(test.exe)をコマンドプロンプトを非表示の状態で実行して、外部プログラムの実行が終了するのを待ってから、次の処理をさせたいのですが、test1のプログラムでは(A)の部分でエラーになってしまいます。また、test2のプログラムでは正しく実行されるのですがコマンドプロンプトのウインドウを非表示にする方法がよく分かりません。
test1のプログラムでエラーをでなくする方法、または、test2のプログラムでコマンドプロンプトのウインドウを非表示にする方法がありましたら教えてください。
-------------------------------------------------------
Sub test1()
Dim ws As Object
Dim we As Object
Dim command As String
command = "C:\test.exe"
Set ws = CreateObject("WScript.Shell")
Set we = ws.Run("%ComSpec% /c " & command, 0, False) '<===(A)
Set we = Nothing
Set ws = Nothing
End Sub
-------------------------------------------------------
Sub test2()
Dim ws As Object
Dim we As Object
Dim command As String
command = "C:\test.exe"
Set ws = CreateObject("WScript.Shell")
Set we = ws.exec("%ComSpec% /c " & command)
Do Until we.Status
DoEvents
Loop
Set we = Nothing
Set ws = Nothing
End Sub
-------------------------------------------------------
お礼
お返事ありがとうございました。 いろいろと検討した結果、system関数等を使うのではなくバッチで処理することにしました。 参考になるご意見いただき感謝します。