• ベストアンサー

Excelマクロで別ブックが開くのを監視できますか

別ブックが開く時に実行するようなマクロは作成可能でしょうか。 別ブックが開く時に、特定のリンク先が含まれているかどうかを調べて、そのリンク先を変更したいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.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

masnoske
質問者

お礼

お陰様でうまくできそうです。 WithEventsキーワード、勉強になりました。

関連するQ&A

専門家に質問してみよう