アプリケーションのイベント一覧
- NewWorkbook : 新しいブックが作成された直後に発生します
- SheetActivate : シートがアクティブになった直後に発生します
- SheetBeforeDoubleClick : シートがダブルクリックされた瞬間に発生します
- SheetBeforeRightClick : シートが右クリックされた瞬間に発生します
- SheetCalculate : シートが再計算された直後に発生します
- SheetChange : シートが変更された直後に発生します
- SheetDeactivate : シートがアクティブでなくなった直後に発生します
- SheetFollowHyperlink : シートのハイパーリンクがクリックされた直後に発生します
- SheetPivotTableUpdate : ピボットテーブル レポートのシートが更新された直後に発生します。
- SheetSelectionChange : シートの選択範囲が変更された直後に発生します
- WindowActivate : ウィンドウがアクティブになった直後に発生します
- WindowDeactivate : ウィンドウがアクティブでなくなった直後に発生します
- WindowResize : ウィンドウのサイズが変更された直後に発生します
- WorkbookActivate : ブックがアクティブになった直後に発生します
- WorkbookAddinInstall : ブックにアドインが組み込まれた直後に発生します
- WorkbookAddinUninstall : ブックからアドインが解除された直後に発生します
- WorkbookBeforeClose : ブックが閉じる直前に発生します
- WorkbookBeforePrint : 印刷が実行される直前に発生します
- WorkbookBeforeSave : 保存される直前に発生します
- WorkbookDeactivate : ブックがアクティブでなくなった直後に発生します
- WorkbookNewSheet : 新しいシートが作成された直後に発生します
- WorkbookOpen : ブックが開いた直後に発生します
- WorkbookPivotTableCloseConnection : ピボットテーブル レポートの接続が閉じた直後に発生します
- WorkbookPivotTableOpenConnection : ピボットテーブル レポートの接続が開いた直後に発生します
Excel VBAでイベントの使用手順
1) メニューの挿入「クラスモジュール」をクリックします
3) クラスモジュール内に下記のコードを入力します
'イベント用の変数
Public WithEvents appevents As Application
4) MyGraphObjectが作成され、イベントが選択できるようになります
ここでは、WorkbookBeforePrintイベントを作成しました
'WorkbookBeforePrintイベント
Private Sub appevents_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As Boolean)
MsgBox "印刷が開始されます"
End Sub
5) 標準モジュールに、Class1と関連付けるコードを入力します
'Class1のオブジェクト
Private MyEvents As New Class1
'関連付ける
Public Sub InitializeEvents()
Set MyEvents.appevents = Application
End Sub
6) 開始前に、InitializeEventsプロシージャーを実行します
これで、印刷開始前のイベントが動作できるようになります
印刷プレビューボタンをクリックすると、イベントが実行され、メッセージボックスが表示されます