【VBA】Excelファイルを開いた時にVBAを実行する

Excelファイルを開いた時にVBAのコードを実行するにはThisWorkbookのOpenプロシージャを利用します。

通常のモジュールとの違い

通常だとモジュールを追加して、そのモジュールにVBAのコードを書いていきます。

今回はイベントを元にしてVBAを起動するのでThisWorkbookにコードを書きます。

Info

イベントとはユーザーが行った何らかの行動のことです。
Excelだと「Excelファイルを開く」、「Excelファイルを閉じる」、「セルをクリックする」、「セルの値を変更する」などです。
今回の例では「Excelファイルを開く」がイベントになります。

ThisWorkbookにOpenプロシージャを追加する

VBAエディターを開き、ThisWorkbookをダブルクリックします。

(General)をWorkbookに変更します。
(Declarations)をOpenに変更します。
Workbook_Openプロシージャが追加されます。

Workbook_Openにコードを追加する

Workbook_Openにコードを書いてみます。
Excelファイルを開いた時に、開いたファイルの名前をメッセージボックスに表示してみます。

Workbook_Openのコードは以下になります

1Option Explicit
2Private Sub Workbook_Open()
3  
4  MsgBox ThisWorkbook.Name & "を開きました", vbInformation
5
6End Sub

ファイルを保存して閉じた後、もう一度ファイルを開きます。

Excelファイルを開くと「ファイル名.xlsmを開きました」とメッセージボックスが表示されます。

関連ページ