« エクセルを閉じた時にマクロを起動させる | メイン | rangeプロパティの使用方法 »

エクセルを開いた時にマクロを起動させる

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)としてコードから実行をかけてます。
このコードの有効性をチェックするには、上下を入替えて試してみてください。

ひとつ前の投稿は「エクセルを閉じた時にマクロを起動させる」です。
次の投稿は「rangeプロパティの使用方法」です。

トラックバック

このエントリーのトラックバックURL:
http://www.xillion.net/mova/mt-tb.cgi/72

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2004年01月24日 00:00に投稿されたエントリーのページです。

メインページアーカイブページも見てください。

Powered by
Movable Type 3.34