VBAでは操作をきっかけとして自動的に実行されるプロシージャの事を「イベントプロシージャ」と言います。自動実行のきっかけとなる操作の事を「イベント」と呼び、「イベント」はブックやワークシート、ユーザーフォーム等のオブジェクトに対して発生します。この「イベント」を利用して特定の処理を実行するブックに対するイベントプロシージャの作成方法を紹介します。
イベントプロシージャの作成方法
(1)VBE(VBA記述画面)を開きます。
※画面の開き方はこちらの手順を参考にして下さい。
(2)ブックオブジェクトをダブルクリックします。
(3)オブジェクトボックスの▼ボタンをクリックします。
(4)プルダウン一覧の中から「WorkBook」を選択します。
※この時点で「Workbook_Open」イベントプロシージャが表示されます。(これは自動的に作成される仕組みとなっている様です。)
(5)プロシージャボックスの▼ボタンをクリックします。
(6)プルダウン一覧の中からイベントプロシージャを選択します。
※イベントプロシージャに含まれるイベント一覧は以下の通りです。
イベントの種類 | 発生するタイミング |
Activate | ブックがアクティブになったとき |
BeforeClose | ブックを閉じるとき |
BeforePrint | ブックを印刷するとき |
BeforeSave | ブックを保存するとき |
Deactivate | ブックがアクティブでなくなったとき |
NewSheet | ブックに新しいシートを作成したとき |
Open | ブックを開いたとき |
SheetActivate | ブック内のシートがアクティブになったとき |
SheetBeforeDoubleClick | ブック内のシートがダブルクリックされたとき |
SheetBeforeRightClick | ブック内のシートが右クリックされたとき |
SheetCalculate | ブック内のシートが再計算されたとき |
SheetChange | ブック内のシートが変更されたとき |
(7)今回は参考例として「Activate」を選択してみます。
(8)「Workbook_Activate」イベントプロシージャが表示されます。
イベントプロシージャの作成方法についての説明は以上です。
おわりに
今回はブックのイベントプロシージャの作成方法について説明しました。オブジェクトボックスでオブジェクトを選択すると、そのオブジェクト既定の「Workbook_Open」イントプロシージャが自動的に作成されます。不要な場合は削除して下さい。