- ベストアンサー
VBからBATファイルを起動して戻り値の取得方法
VBからBATファイルを起動して戻り値(エラーコード)を もらうにはどうすれば良いのでしょうか? WshShellという関数を使用することは、何となく分かるのですが 宜しければサンプルを教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>WScript.CreateObjectの >ところで"オブジェクトが必要です"となってしまいます。 VBのときは、CreateObjectですね。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
お礼
早速の回答有難う御座います。 色々試行錯誤して以下のように書いてみましたが、WScript.CreateObjectの ところで"オブジェクトが必要です"となってしまいます。何か参照設定に漏れが あるのでしょうか?宜しくお願いします。 Private Sub Command1_Click() Dim Fs As New FileSystemObject Dim ws As WshShell Dim we As WshExec Dim tx As TextStream Dim ERR_FLG As String Set ws = New WshShell Set we = ws.Exec("test1.bat > test1.log") Set Fs = WScript.CreateObject("Scripting.FileSystemObject") Set tx = Fs.OpenTextFile("test1.log", 1) Do Until tx.AtEndOfStream tLine = tx.ReadLine If InStr(tLine, "ERRORLEVEL") <> 0 Then ERR_FLG = Mid(tLine, 11, 1) End If Loop msgbox ERR_FLG End Sub test1.bat @echo off バックアップ処理 IF NOT %ERRORLEVEL% == 0 GOTO ERROR echo 正常終了しました。 GOTO END :ERROR ECHO バックアップ処理がエラーを返して終了しました。 :END ECHO ERRORLEVEL %ERRORLEVEL%
お礼
おっしゃるとりでした。うまくいきました。 この度は有難うございました。