トップページ > コンテンツ > プログラミング入門 > Excel VBA入門 > ブックが開かれたor閉じられた時に処理を呼び出す

ブックモジュールのThisWorkbook内で以下の関数を規定し、その中で処理を記載すれば良い。
ただし、Workbook_Openには通常のマウスクリックでのブレークポイントを設定できないため、
Stop等の記述を書いて止める必要がある。

Private Sub Workbook_Open() '開かれた時に呼び出される関数
    Stop '止めたい箇所で記載する。
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) '閉じる前に呼び出される関数

End Sub


尚、標準モジュールにAuto_Openを書いても、自動実行するが、
通常はWorkbook_Openで良い。

Workbook_Open Auto_Open
手動オープン 起動する 起動する
VBA経由オープン(マクロ等) 起動する 起動しない
イベントを無効にした場合(※) 起動しない 起動する

(※)以下のような方法がある。
1.Application.EnableEvents = Falseに設定
2.Shiftキーを押しながら、ブックをオープン

ちなみに、同時に記載した場合はWorkbookモジュール(Workbook_Open)->標準モジュール(Auto_open)の順に
起動し、Workbook_Openの方が優先される。

最終更新:2015年12月13日 00:24