質問: エクセル2007で、application.runを使って、他のブック エクセル2007で、application.runを使って、他のブックの関数を使用しようとしたところ、実行時エラー「このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」が出ます。以下のサイトの情報を実行してみても解決できませんでした。 http://soumukouboo.blog91.fc2.com/blog-entry-107.html http://www.katch.ne.jp/~kiyopon/soft/2007.html エクセル2007では、ブックを開くとマクロは強制的に無効にされることは分かったのですが、信頼できる場所を登録しても、上記エラーが出て実行できません。 エクセル2007でapplication.runをどうすれば実行できるでしょうか? ちなみに「他のブック」は同じフォルダに置いてあり、 next_book="test.xls" workbooks.open (thisworkbook.path & "\" & next_book) という感じで、最初に次のブックを立ち上げています。 目的は、1というbookの処理が終わったら、次のブックを自動で立ち上げて、次のブックの処理スタート ボタンを自動で押したいというものです。 よろしくお願い致します。
回答: >エクセル2007でapplication.runをどうすれば実行できるでしょうか? 別に、excel2007 でも、前のバージョンでも変わりません。 質問全体としては、分からない部分がいくつかあります。 なぜ、肝心な部分のコードを書かないで質問されているのか良く分かりません。 >next_book="test.xls" >workbooks.open (thisworkbook.path & "\" & next_book) excel 2007 で、旧xls ファイルを呼び出すのでしょうか? 仮に、そうであっても、開けば、 application.run で呼び出せるはずです。 >目的は、1というbookの処理が終わったら、次のブックを自動で立ち上げて、次のブックの処理スタートボタンを自動で押したいというものです。 しかし、ボタンの種類にもよりますが、active x コントロールのボタンを、呼び出し処理は出来ないはずです。private ステートメントが付いているはずです。それを外せばよいのですが、そんなことは、あまりしませんね。だいたい、こういう場合は、application.run で実行させることなどありません。 あまり凝ったことをせずに、別のブックにコードを置いて、処理するのが良いのではないかと思います。