VBA 任意のファイルが開いている時に戻り値としてファイル出力
バッチでマクロを実行する際、戻り値によってその後の挙動を決めたい場合がある
今回の条件はバッチで起動するはずのマクロファイルが既に開かれている場合はファイルに戻り値を入力するというロジックを想定したコードを解説する
バッチでマクロを実行する方法はこちら
バッチでマクロ実行
マクロのコード
Sub ReturnMacroCd()
'ファイルのフルパス
Dim fileFullPath As String
fileFullPath = "C:\Users\hoge\Desktop\macro\SubMacro.xlsm"
'エラーでも次のステートメントを実行
On Error Resume Next
'Excelファイルを通常のファイルとして追記モードで開く
Open fileFullPath For Append As #1
Close #1
If Err.Number > 0 Then
'ファイルが開かれている場合
'テキストファイルに上書き入力 ※ファイルが無い場合は作成
Open "C:\Users\hoge\Desktop\macro\MacroResultCd.txt" For Output As #1
Print #1, "error"
Close #1
End If
End Sub