プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

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