- ベストアンサー
Excelマクロで別ブックが開くのを監視できますか
別ブックが開く時に実行するようなマクロは作成可能でしょうか。 別ブックが開く時に、特定のリンク先が含まれているかどうかを調べて、そのリンク先を変更したいのです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下の様にすれば出来ます。 「macro」を実行した後から監視が開始されるので、マクロを記述してあるブックが開かれるタイミングで「macro」を実行しておきます。 実際の特定のリンク先が含まれるかどうかの記述は、クラスモジュールに記載します。 'ThisWorkbookに記述 Private Sub Workbook_Open() Call macro End Sub ’標準モジュールに記述 Dim Evt As New Class1 Sub macro() Set Evt.app = Application End Sub ’クラスモジュールに記述(クラスモジュールのオブジェクト名は「Class1」とする) Public WithEvents app As Application Private Sub app_WorkbookOpen(ByVal Wb As Workbook) ’ここにリンク先が含まれているかどうかのコードを記述します。 ’MsgBox Wb.Name End Sub
お礼
お陰様でうまくできそうです。 WithEventsキーワード、勉強になりました。