エクセル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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Application.Runエラー(1004)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
フォルダ内の全ブックのシート...
-
Excelの一括印刷で通し番号をつ...
-
すでに開いているブックのマク...
-
EXCELマクロで上書きメッ...
-
VB2010でExcelの行をコピーして...
-
VBA セル入力された日付データ...
-
エクセルVBAでブックを開くと処...
-
【Excel VBA】ブックを複数開い...
-
EXCEL VBA起動時の処理
-
フォルダ内の全てのBookに同じ...
-
excelでハイパーリンク 別ブッ...
-
一覧表から一行ごとのデータを...
-
エクセルVBA Workbook変数に変...
-
同じ枠の中で開かれる場合と、...
-
Excel VBAを後ろで動かす方法
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
VBAを一度起動するとずっと出て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
エクセルVBA Workbook変数に変...
-
【ExcelVBA】指定の書式で、マ...
-
フォルダ内の全ブックのシート...
-
【Excel VBA】ブックを複数開い...
-
フォルダ内の全てのBookに同じ...
-
すでに開いているブックのマク...
-
EXCELマクロでxlsとxlsxを開く方法
-
VBA セル入力された日付データ...
-
VBA、Excelのworkbook.open に...
-
personal.xlsの削除方法
-
excelマクロ、任意セルの値で名...
-
コマンドボタンでマクロを起動...
-
エクセルVBAでブックを開くと処...
-
VBAでEXCELのワークシートを削...
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
おすすめ情報