アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2007で、Application.Runを使って、他のブックの関数を使用しようとしたところ、実行時エラー「このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」が出ます。以下のサイトの情報を実行してみても解決できませんでした。

http://soumukouboo.blog91.fc2.com/blog-entry-107 …
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の処理が終わったら、次のブックを自動で立ち上げて、次のブックの処理スタート
ボタンを自動で押したいというものです。

よろしくお願い致します。

A 回答 (2件)

>エクセル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 で実行させることなどありません。

あまり凝ったことをせずに、別のブックにコードを置いて、処理するのが良いのではないかと思います。
    • good
    • 0
この回答へのお礼

説明用にサンプルプログラムを作ろうとおもったら、ソチラでは動きました。

メインのプログラムがなぜ実行時エラーが出るのかはわからないままですが、確かにおっしゃる通りエクセル2007が問題ではないようです。

とりあえず、Application.Run を使わず、次のBOOKのオープンイベントで処理を開始するようにして
対応しました。

なお、xls形式を使っている理由はファイルを配布するからです。エクセル2007形式では読み取り出来ない方も居られますので。

ご回答ありがとうございました。

お礼日時:2010/08/05 20:31

2007で無いですが、何か参考になれば。


XXX.xlsのModule1に
Sub test02()
UserForm1.Show
End Sub
があります。
このブックをまず開いておく。
ーーー
他のブックを開いて(新規ブックBook1。保存前)、標準モジュールに
Sub test01()
Application.Run "xxx.xls!Module1.Test02"
End Sub
を入れて
、実行すると、UserForm1が現れ、ボタンをクリックすると、クリックイベントの
Private Sub CommandButton1_Click()
MsgBox "SSS"
Workbooks("Book1").ActiveSheet.Range("A1") = "xxxx"
End Sub
を入れていますが、所定の処理が実行されましたが。
(Module1の限定を入れてますか。Module2などに同名のプロシ名がある場合)
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

マクロが無効になってしまう原因はわからないままですが、別の方法で対応しました。

ちょっと不思議な現象ですが、ファイルを作りなおすと現象が治りそうな気がします。

いろいろ調べてみます。

お礼日時:2010/08/05 20:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!