
batからexeを実行し戻り値を受け取る
EXEの実行内容の結果によって、戻り値を0か1かで返したいのですが、下記のバッチを実行したところ、
実行結果関係なく、EXEが実行できたら0を返すようなコードになってしまいました。
どこを直せば良いかご指摘お願いします。
EXEはVB6.0です。
【バッチ】
@ehco off
Project.exe
echo %errorlevel%
↓↓↓project.exe
【フォーム】
private sub form_load()
'ファイルの存在を確認する
Dim fso As FileSystemObject
Set fso = New FileSystemObject
'ファイルの存在を確認する
If fso.FileExists("C:\Hoge.txt") Then
Call MsgBox("ファイルはあります")
Else
Call MsgBox("ファイルはありません")
End If
【標準モジュール】
Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long)
Public Sub Main()
Dim filePath As String
filePath = Split(Command)(0)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filePath) Then
ExitProcess 0
Else
ExitProcess -1
End If
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> EXEはVB6.0です。
この環境は無いけど、OSに付属してるコンパイラ、
C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe
で、
-----tt.bat-----
@echo off
Test.exe
echo %errorlevel%
-----Test.vb-----
Public Module Test
Public Declare Sub ExitProcess Lib "kernel32"(ByVal uExitCode As Long)
Public Sub Main()
Console.WriteLine("Test")
ExitProcess(2)
End Sub
End Module
だと、きちんと2とか指定の数字が返ってきた。
--
> 実行結果関係なく、EXEが実行できたら0を返すようなコードになってしまいました。
ifの判定に失敗してるって事もあるのでは。
何もせずに数値を返すプログラムで、ExitProcessが機能しているか確認とか。
ExitProcess 0/-1それぞれの前にメッセージボックスか何かで、filepathの文字列とか、どっちに分岐したのかの処理状況表示するとか。
あるいは、実はエラー出てるのに気づかずに、前回作成したexeを繰り返し実行してるとか。
打ち間違いだと思うけど、@echo offが@ehco offになってるし。
その他、ウィルス対策ソフトが作成されたexeを掴むせいで、2回目コンパイルしてもexeを上書きできずにエラーになるような事もあるし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
エクセル フォルダの画像を画...
-
Excelのセルの内容をコマンドプ...
-
MATLABでssを実行すると、未定...
-
Windows System32 Security Hea...
-
[teraterm] waitコマンドで停止...
-
複数のbatファイルを自動実行し...
-
Software Distribution folder ...
-
cpadでプログラムが実行できない
-
コマンドプロントでバッチファ...
-
telnetで接続先の操作方法について
-
一つのEXEが終了する直前に、US...
-
VBScript(WHS)でWMIを使ってリ...
-
「読み取りと実行」と「読み取...
-
Windows 8.1でRS-232Cが使用で...
-
バッチファイル(.bat)へWSH(.ws...
-
exeファイルが実行できません
-
Excel(エクセル) VBA プロシー...
-
【ACCESS】マクロの「アプリケ...
-
ファイルを開いて1回しか再生...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
これってパソコンの最適化が完...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
複数のbatファイルを自動実行し...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
PDFファイルを開き、印刷し、閉...
-
Excel(エクセル) VBA プロシー...
-
Windows System32 Security Hea...
-
VBScriptでコマンドプロンプト...
-
Access の VBA 実行中に他の操...
-
【VB.NET】exeを実行すると「発...
-
バッチファイルが不正終了して...
-
16進数の変換処理
-
Excel VBA ステップインが途中...
-
pythonスクリプトを管理者権限...
おすすめ情報