[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『BATファイル起動、処理待ち』(カクタス)
こんにちは。よろしくお願いいたします。 ↓のコードでBATファイルを実行しています。
Dim bat As String bat = "D:\test\hoge.bat" CreateObject("Shell.Application").ShellExecute bat MsgBox "完了"
BATファイルは、起動後、キーボードで"Y"か"N"を押したら 処理をするようになっています。
ただ、↑のコードだと、キーボードで"Y"か"N"を押す前に 次の >MsgBox "完了" へ行ってしまします。 BATファイルの終了を待って次の作業へいくにはどのように 記述すればいいでしょうか? ご指導お願いいたします。
Dim objShell, objExec
Set objShell = CreateObject("WScript.Shell") Set objExec = objShell.Exec("c:\ping.bat") Do Until objExec.Status: DoEvents: Loop MsgBox "終わり"
ご回答ありがとうございます。
実行しましたら、 >Set objExec = objShell.Exec("D:\test\hoge.bat") のところで
実行時エラー '-2147024703 (800700c1)' D:\test\hoge.bat は有効な Win32 アプリケーションではありません。
というエラーになってしまいます。 コードは↓で試しました。
Dim objShell, objExec Set objShell = CreateObject("WScript.Shell") Set objExec = objShell.Exec("D:\test\hoge.bat") Do Until objExec.Status: DoEvents: Loop MsgBox "終わり"
お手数ですが、再度のご指導お願いいたします。 (カクタス)
参考 Shellの処理待ち http://hp.vector.co.jp/authors/VA033788/kowaza.html#0072
再度のご指導ありがとうございます。 ↓でいけました。ありがとうございました。
Dim bat As String bat = "D:\test\hoge.bat" CreateObject("WScript.Shell").Run """" & bat & """", , True (カクタス)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.