
エクセル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の処理が終わったら、次のブックを自動で立ち上げて、次のブックの処理スタート
ボタンを自動で押したいというものです。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>エクセル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 で実行させることなどありません。
あまり凝ったことをせずに、別のブックにコードを置いて、処理するのが良いのではないかと思います。
説明用にサンプルプログラムを作ろうとおもったら、ソチラでは動きました。
メインのプログラムがなぜ実行時エラーが出るのかはわからないままですが、確かにおっしゃる通りエクセル2007が問題ではないようです。
とりあえず、Application.Run を使わず、次のBOOKのオープンイベントで処理を開始するようにして
対応しました。
なお、xls形式を使っている理由はファイルを配布するからです。エクセル2007形式では読み取り出来ない方も居られますので。
ご回答ありがとうございました。
No.2
- 回答日時:
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などに同名のプロシ名がある場合)
アドバイスありがとうございました。
マクロが無効になってしまう原因はわからないままですが、別の方法で対応しました。
ちょっと不思議な現象ですが、ファイルを作りなおすと現象が治りそうな気がします。
いろいろ調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) excelのマクロ実行でブロックされます。 2 2022/06/08 09:14
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
すでに開いているブックのマク...
-
【ExcelVBA】指定の書式で、マ...
-
エクセルVBA Workbook変数に変...
-
EXCELマクロでxlsとxlsxを開く方法
-
コマンドボタンでマクロを起動...
-
エクセル2007で、Application.R...
-
エクセルのマクロについて教え...
-
excelマクロ、任意セルの値で名...
-
マクロでログ抽出し、日付ごと...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
Excelマクロ ファイル名が変わ...
-
外部データを取り込むマクロ
-
マクロを消すマクロは不可能?
-
VBA[Private Sub]のコードをシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
【ExcelVBA】指定の書式で、マ...
-
EXCELマクロでxlsとxlsxを開く方法
-
excelマクロ、任意セルの値で名...
-
【Excel VBA】ブックを複数開い...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
VBAでEXCELのワークシートを削...
-
VBA、Excelのworkbook.open に...
-
Excel VBAを後ろで動かす方法
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
excelでハイパーリンク 別ブッ...
-
エクセルVBAでブックを開くと処...
-
他のBookのユーザー定義関数を使う
おすすめ情報