- 締切済み
EXCELアドイン自動起動マクロ
アドインに登録し、不特定のCSVファイルを読み込んだとき(OPENしたとき)に内容を判別し、起動するマクロを作成しようとしています。 標準モジュールに”Sub Auto_Open()”により記述し、アドイン登録しましたが、期待する動作となりません。 ----------------------------- Sub Auto_Open() MsgBox "ファイルが開く毎に起動させたい" End Sub ----------------------------- ☆EXCEL未起動→ファイルオープンしたときには、上記MsgBoxが表示されるが、EXCEL起動中→ファイルオープンでは表示されません。 ファイルを開くたびに動作するマクロを登録するためには、どのようなテクニックが必要なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- pauNed
- ベストアンサー率74% (129/173)
こんにちは。 そのアドインBookの 'ThisWorkbookモジュールに Option Explicit Private WithEvents xlApp As Application Private Sub Workbook_BeforeClose(Cancel As Boolean) Set xlApp = Nothing End Sub Private Sub Workbook_Open() Set xlApp = Application End Sub Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook) If Not Wb Is Me Then MsgBox "open" End Sub アドイン自身のOpen時にもメッセージが必要なら If Not Wb Is Me Then は不要です。
- misatoanna
- ベストアンサー率58% (528/896)
> EXCEL起動中→ファイルオープンでは表示されません。 新しく開かれたファイル=アクティブ(表面に表示)になる。 起動中のEXCELファイル=背面に隠れた状態になる。 というのでしたら、 起動中のファイルの ThisWorkbookモジュールに ' Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) MsgBox "新しいファイルが開かれました" End Sub ' ではいかがでしょうか。
お礼
ご回答ありがとうございました。ただ、 「アドインで登録し、不特定のファイルを開いたとき」 の条件での動作が条件となるため、参考とさせていただきますが 今回の内容に合致しません。他の方法を検討してみます。 ありがとうございました。
お礼
ありがとうございました。 参考にしてチャレンジしてみましたが、 エラーになり起動しませんでした。 私が使っているバージョン(Office97)が古いからでしょうか? 他の方法を検討します。