#15_2 ブックのイベント
ブックに関するイベントの種類
前回、イベントマクロの定義と基本的な構文について学習しました。そこで、今回から数回に分けて、「ブック」「シート」と言ったオブジェクトごとに、そのイベントマクロの具体例を見ていきたいと思います。
その一回目となる今回はブックのイベントを紹介します。と言ってもブックのイベントだけでも40種類近くあるため、そのすべてのマクロ例を紹介することはできませんが、イベントを一覧にして紹介しようと思います。
もちろん[プロシージャ]ボックスから閲覧できるのですが、その意味は以下の通りになります。この中で特によく使うものについてはイベント名を赤くしました。
例としては「ブックを閉じる時(BeforeClose)」と「セルの選択範囲を変更した時(SheetSelectionChange)」の2つを紹介したいと思います。
イベント | イベントの発生時期 |
---|---|
Activate | 対象のブックがアクティブになった時に発生 |
AddinInstall | 対象のブックがアドインとして組み込まれた時発生 |
AddinUninstall | ブックのアドイン組み込みを解除した時発生 |
AfterSave | ブックが保存された後に発生 |
AfterXmlExport | ブックをXMLデータファイルにエクスポートした後に発生 |
AfterXmlImport | XMLデータがブックにインポートされた後に発生 |
BeforeClose | ブックを閉じる前に発生 |
BeforePrint | ブックを印刷する前に発生 |
BeforeSave | ブックを保存する前に発生 |
BeforeXmlExport | ブックをxmlデータファイルにエクスポートする前に発生 |
BeforeXmlImport | XMLデータがブックにインポートされる前に発生 |
Deactivate | ブックが非アクティブになった時に発生 |
ModelChange | Excelデータモデルが変更された後に発生 |
NewChart | 新しくグラフを作成した後に発生 |
NewSheet | 新しくシートを作成した後に発生 |
Open | ブックを開いた時に発生 |
PivotTableCloseConnection | ピボットテーブルレポート接続が閉じた後に発生 |
PivotTableOpenConnection | ピボットテーブルレポート接続が開いた後に発生 |
RowsetComplete | OLAPピボットテーブルに対する行セットアクションを呼び出した後に発生 |
SheetActivate | シートがアクティブになった時に発生 |
SheetBeforeDelete | シートが削除される前に発生 |
SheetBeforeDoubleClick | シートをダブルクリックした時に発生 |
SheetBeforeRightClick | シートを右クリックした時に発生 |
SheetCalculate | 計算した時に発生 |
SheetChange | セルの値が変更された時に発生 |
SheetDeactivate | シートが非アクティブになった時に発生 |
SheetFollowHyperlink | シート上のハイパーリンクをクリックした時に発生 |
SheetLensGalleryRenderComplete | シートの引き出し線ギャラリーの表示が完了した後に発生 |
SheetPivotTableAfterValueChange | ピボットテーブル内のセル範囲が編集された後に発生(再計算後でも発生) |
SheetPivotTableBeforeAllocateChanges | ピボットテーブルが変更される前に発生 |
SheetPivotTableBeforeCommitChanges | ピボットテーブルのOLAPデータが変更される前に発生 |
SheetPivotTableBeforeDiscardChanges | ピボットテーブルの変更が破棄される前に発生 |
SheetPivotTableChangeSync | ピボットテーブルが変更された後に発生 |
SheetPivotTableUpdate | ピボットテーブルレポートのシートが更新された後に発生 |
SheetSelectionChange | シートで選択範囲を変更した後に発生 |
SheetTableUpdate | シートテーブルが更新された後に発生 |
WindowActivate | ウィンドウがアクティブになった時に発生 |
WindowDeactivate | ウィンドウが非アクティブになった時に発生 |
WindowResize | ウィンドウサイズを変更した時に発生 |
ブックを保存する時に発生するイベント
引数を渡すことができるサブルーチンについて勉強しましたが、イベントの中にも引数を渡せるものがあります。このBeforeSaveもその1つです。
イベントマクロの引数を使いこなすために、次のようなマクロを記述してみてください。
このケースの場合、2つの引数(SaveAsUIとCancel)がイベントマクロに自動的に渡されています。この引数は両方ともブール型であり、SaveAsUIは「名前をつけて保存」ダイアログを表示するかしないかを決める引数であり、Cancelは保存をキャンセルするかどうかを決める引数です。
特にCancelはイベントマクロの引数では1番見かけるものなので、意味をよく覚えておきましょう。
「特定の条件を満たさない限りブックを保存できない」といった条件付きイベントマクロを作ることができます。



セルの選択範囲を変更した時に発生するイベント
セルの選択範囲を変更した時に発生するイベントはSheetSelectionChangeです。このイベントに渡される引数はTargetです。このTargetはセルの選択範囲が代入されるオブジェクト型変数です。
いかに実例を示しておきます。
