VBAでマクロを作成し、業務アプリケーションというべきレベルのものを作成しはじめた方から、よくいただく質問があります。
「ブックを開いたときに必ずやりたい処理があるときはどうすればいいですか?」
「ファイルを開いたときにマクロを実行させるにはどうすればいいのでしょう?」
といったご質問です。
AUTO_OPENという名前のSubプロシージャはブックを開くときに実行される
知ってしまうと簡単なことなのですが、ある特別な名前をプロシージャ名にすると、そのマクロはファイルが開かれるときに必ず実行されるようになります。※ファイルを開いたときに、「AUTO_OPENマクロによって表示されたメッセージです。」というメッセージを表示させる例
Sub AUTO_OPEN()
MsgBox "AUTO_OPENマクロによって表示されたメッセージです。"
End Sub
これだけでこのマクロはブックを開いたときに自動的に実行されます。
「AUTO_OPEN」は大文字小文字は関係ありませんので、「Auto_Open」「auto_open」などとしても構いません。
AUTO_OPENをマクロダイアログに表示したくない場合
上記のように、
Sub AUTO_OPEN()
としただけでは、メニュー[ツール]−[マクロ]−[マクロ]をクリックして表示される、[マクロ]ダイアログに「AUTO_OPEN」マクロが表示されます。
もしもこれを表示させたくないのであれば、「Private」キーワードを使って
Private Sub AUTO_OPEN()
としてください。
ちなみにAccessでも同様に、「MDBファイルを開く時に何らかの処理をするには?」というご質問をいただくことがありますが、その場合は「AutoExec」という名前のマクロを作成するか、[起動時の設定]ダイアログで設定をしてください。
最終更新日時:2019-02-15 09:59
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » .xlsファイルを開いたときにマクロを実行−AUTO_OPENマクロ
TrackBack:10
- TrackBack URL
- xlsファイルを開いたときにマクロを実行−Workbook_Openイベントプロシージャ from インストラクターのネタ帳
- Excel 97,2000,2002,2003 xlsファイルを開いたときに何らかの処理を実行させるには、「Auto_Open」という名前のマクロを作るということをご紹介しました。 実は他にもxlsファイルを開いたときに必ず何らかの処理を行わせる方法があります。 イベントプロシージャを利用す...
- ファイルを閉じるときにマクロを実行−Auto_Closeマクロ from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 マクロに「Auto_Open」という名前をつけることで、ファイルが開くるときに実行されるマクロになる、ということをご紹介しました。 逆に、 「ファイルを閉じるときに実行されるマクロを作るにはどうすればいいですか?」 というご質問をい...
- セルのドラッグ・アンド・ドロップを禁止したい−CellDragAndDropプロパティ from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 Excelで業務アプリケーションを作り始めると、い...
- Excelファイルを閉じるときにマクロを実行−Workbook_BeforeCloseイベントプロシージャ from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 マクロを「Auto_Close」という名称にするこ...
- シート見出しを非表示にしたい−DisplayWorkbookTabsプロパティ from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 Excelで業務アプリケーションを作ろうとしてい...
- アクティブセルを左上に表示するには?−Gotoメソッド・Scroll:=True from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 VBA(Visual Basic for App...
- 今日の日付をアクティブに from インストラクターのネタ帳
- 対象:Excel2002, Excel2003, Excel2007 Excelを使ってスケジュール管理のようなことをしている方は少なくありません。 ...
- 2007でステータスバーの表示/非表示−Application.DisplayStatusBar from インストラクターのネタ帳
- エクセル2007ではステータスバーを非表示にするコマンドはなくなっています。しかしVBAマクロなどでApplication.DisplayStatusBa...
- AUTO_OPEN・Workbook_Openのデバッグ from インストラクターのネタ帳
- AUTO_OPENマクロやWorkbook_OpenイベントプロシージャのデバッグにはStopステートメントを使いましょう。
- クラスモジュールのメリットをイベント処理共通化で体験するサンプル from インストラクターのネタ帳
- Excel VBAで、クラスモジュールのメリット・使いどころをイベント処理の共通化で体験する例をご紹介しています。