【VBA】ブックを保存した後にマクロを自動実行する

ブックを保存した後
 ・マクロを自動的に実行
できます!

AfterSaveイベントを利用することで
実現します!
※After(後に)Save(保存)イベントです。

PR

AfterSaveイベントとは

ブックを保存した後に発生するイベントです。

AfterSaveイベントが発生すると、
 ・Excelが
 ・Subプロシージャ「Workbook_AfterSave」を
 ・自動的に実行
してくれます。

よって
 ・Subプロシージャ「Workbook_AfterSave」を作成することで
 ・ブックを保存した後にマクロが自動実行される
ようになります。

Subプロシージャ「Workbook_AfterSave」の中に、「ブックを保存した後に自動実行したい処理」を記述します。


Subプロシージャ「Workbook_AfterSave」は
 ・「ThisWorkbook」モジュール内に作成
する必要があります。

「ThisWorkbook」モジュール
「ThisWorkbook」モジュール
PR

VBAコード

ここでは例として
 ・デスクトップ配下の「sampl_001.xlsm」の
 ・「ThisWorkbook」モジュール内のSubプロシージャ「Workbook_AfterSave」の中に
 ・VBAコードを記述
します。

記述するVBAコードは
 ・正常に保存されたかどうかを確認
 ・メッセージを表示
とします。

「ThisWorkbook」モジュールの下記のプルダウンに「Workbook」と「AfterSave」を指定にすれば、Subプロシージャ「Workbook_AfterSave」が自動的に作成されます。

自動的に作成されたSubプロシージャ「Workbook_AfterSave」
自動的に作成されたSubプロシージャ「Workbook_AfterSave」


自動的に作成されたSubプロシージャ「Workbook_AfterSave」の中に、VBAコードを記述します。

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    
    '正常に保存されたかどうかを確認
    If Success Then
        '保存された場合
        MsgBox ("正常に保存されました!")
    Else
        '保存されなかった場合
        MsgBox ("正常に保存されませんでした!")
    End If

End Sub

引数「Success」により、「正常に保存されたかどうか」を判断できます。

PR

実行結果

ブックを保存した後にマクロを自動実行できました。

デスクトップ配下の「sampl_001.xlsm」 を「保存」をすると
 ・メッセージが表示
されました。

実行結果(正常に保存された場合)
実行結果(正常に保存された場合)
PR

参考

AfterSaveイベントの詳細は、公式サイトをご確認ください。