※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAで戻り値を返すには)
このQ&Aのポイント
ExcelVBAでデータを取得してブックを閉じるVBAを作成していますが、戻り値の返し方がわかりません。
コマンドプロンプトから起動しても、ブックを閉じるときには戻り値を返すことはできないのでしょうか。
戻り値を判定するための方法や考え方を教えてください。
ExcelVBAで、Oracleからデータを取得してブックを閉じるVBAを作成しています。
行いたい事は、このVBAが正常終了したか異常終了したかを判定したいのですが、ブックからの戻り値の返し方がわかりません。
ExcelVBA側
-------
Function Auto_Open()
Application.Visible = False
Application.ScreenUpdating = False
ret = RunExec() 'Oracleからデータ取得
If (ret <> True) Then
Auto_Open = False
Else
Auto_Open = True
End If
ActiveWorkbook.Saved = True
Application.DisplayAlerts = False
ThisWorkbook.Application.Quit
End Function
-------
このVBAをコマンドプロンプトから起動しても、正常時も失敗時も%ERRORLEVEL%が0になります。
ブックを閉じるときに戻り値を返す事はできないのでしょうか。
お礼
返事が遅くなりましたが、アドバイスありがとうございました。 色々試しましたが、ご回答の通りできませんでした。 結局のところ、処理が成功したらファイルを出力して、それを戻り値の代わりに使うという方法を取りました。