• ベストアンサー

VBからBATファイルを起動して戻り値の取得方法

VBからBATファイルを起動して戻り値(エラーコード)を もらうにはどうすれば良いのでしょうか? WshShellという関数を使用することは、何となく分かるのですが 宜しければサンプルを教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>WScript.CreateObjectの >ところで"オブジェクトが必要です"となってしまいます。 VBのときは、CreateObjectですね。

zerokara
質問者

お礼

おっしゃるとりでした。うまくいきました。 この度は有難うございました。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1
参考URL:
http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_02.html
zerokara
質問者

お礼

早速の回答有難う御座います。 色々試行錯誤して以下のように書いてみましたが、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%

関連するQ&A

専門家に質問してみよう