- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画面から別ブック起動についてです。)
画面から別ブック起動について
このQ&Aのポイント
- VBAで作成した画面から別のブックを開いてマクロ処理を実行したいが、うまくいかない状況です。別のブックを直接開くとマクロ処理は実行されますが、画面から開くと実行されません。
- 画面から呼び出した別のブックは開くことができますが、マクロ処理が動作しません。
- VBAを使用して作成した画面から別のブックを開いてマクロ処理を実行したいと思っていますが、うまくいきません。別のブックを直接開くとマクロ処理は正常に実行されますが、画面から開くと実行されません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 この場合には、CreateObject("Excel.Application") ですので、ブックを開いたと言うよりも、新たにexcelのプログラムを立ち上げていると思います。 タスクマネージャーで見てもexcel.exeが2本動いていると思います。 また、ウィンドウで見た時にも、新規のブック名は追加されていないと思います。 Workbooks.Open Filename:="別ブックパス" の記述だけであれば、ブックの立ち上げですので、マクロは動くと思いますが、何か特別な理由があって、別の方法を探していらっしゃると推測します。 したがって、excelアプリケーションプログラムを2本立ち上げて、その間でのやり取りをする必要があります。 不可能ではないと思いますが、excel立ち上げ時にマクロが自動的に動くようにするのが一番簡単と思いますので、VBAでThisWorkbooKオブジェクトに対して、以下の記述をしてはどうでしょうか? Private Sub Workbook_Open() Call 実行マクロ名 End Sub ファイル読み込み時に、自動的にマクロが動きます。 根本的な解決方法ではないのでだめかしら?
お礼
ご回答、ありがとうございます。 Workbooks.Open Filename:="別ブックパス" の記述だけでマクロは動くんですね。>通常・・・。 でも、動かないのでtosi0000さんが教えてくれたThisWorkbookでCallをかけました。 うまくいきました。ありがとうございました。