Workbook_OpenイベントをThisWorkbookに記述します。
下の例はエクセルを開く時に”Hello!"とポップアップを行います。
Private Sub Workbook_Open()
msgbox "Hello!"
End Sub
Workbook_OpenイベントとAuto_Openマクロの処理順を比較してみました。
ついでにWorkbook_BeforeCloseイベントとAuto_Closeマクロも比べちゃいました。
順番は……(教えてあげません)。
下のコードでは各イベントの処理で自分のイベント名をポップアップさせています。
イベント発生順の確認に便利です。
ThisWorkBookに記述するコード
Private Sub Workbook_Open()
MsgBox "Workbook_Open Event"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Workbook_BeforeClose Event"
End Sub
標準モジュールに記述するコード
Private Sub Auto_Open()
MsgBox "Auto_Open Macro"
ThisWorkbook.RunAutoMacros (xlAutoClose)
ThisWorkbook.Close
End Sub
Private Sub Auto_Close()
MsgBox "Auto_Close Macro"
End Sub
※Private Sub Auto_Open()の4行目のThisWorkbook.Closeメソッドだけでは上手く稼動しませんので、直上にThisWorkbook.RunAutoMacros (xlAutoClose)としてコードから実行をかけてます。
このコードの有効性をチェックするには、上下を入替えて試してみてください。