ここから本文です

Excel VBAで、変数に指定したファイル名に「()」がついているファイルのマクロ実行...

アバター

ID非公開さん

2019/9/223:52:43

Excel VBAで、変数に指定したファイル名に「()」がついているファイルのマクロ実行方法を教えていただきたいです。

Application.Runでブック「テストファイル(1).xls」のプロシージャ「macro1」を実行する際に、大文字小文字問わず「()」が入っていた場合、使用文字制限の関係で、「マクロが使用できない〜〜〜」のエラーが出ます。

◼︎ Application.Run "テストファイル(1).xls!macro1"


この時ブック名を「'」(シングルクォーテーション)で囲うと実行出来るようになります。

◼︎ Application.Run "'テストファイル(1).xls'!macro1"


ただ、このファイル名を変数で指定して複数のブックのプロシージャを実行していく時、上記と同じように変数を「'」で囲って動かそうとすると、変数を文字列としてよみ、ブック「FILE_NAME」としてみてしまいエラーとなります。

◼︎ FILE_NAME = Cells(〜〜〜〜)
↑変数「FILE_NAME」にテストファイル(1).xls等を代入
◼︎ Application.Run "'FILE_NAME'!macro1"
↑そんなブックはありませんとエラーになる

※書いたマクロは参考程度にお願いします。

上記の他、ActiveWookbook.Nameで指定する等、色々試したり調べたりしましたが答えが見つかりません。

わかる方いらっしゃいましたらご回答お願いいたします。

閲覧数:
25
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2019/9/301:23:35

Application.Run "'FILE_NAME'!macro1"



Application.Run "'" & FILE_NAME & "'!macro1"

アバター

質問した人からのコメント

2019/9/3 18:40:23

記載の通りに修正したら出来ました!
ありがとうございます!

ベストアンサー以外の回答

1〜1件/1件中

よこまやさん

2019/9/300:09:06

>変数を「'」で囲って
普通は変数の両側に文字としての'を足すものです。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる