データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ファイル名中のシングルクォーテーション1つをシングルクォーテーション2つ(ダブルクォーテーションではない)に置き換えれば動くと思います.ファイル名が
Book'2.xlsm
の場合にはVBAコード上にあるファイル名の部分を
Book''2.xlsm
に置き換えて
Application.Run "'Book''2.xlsm'!TargetMacro"
とします.
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
あるブックから、他のブック内のマクロを実行する処理があります。
Book1.xlsm
Sub Run_Macro()
Application.Run "'Book2.xlsm'!TargetMacro"
End Sub
Book2.xlsm
Sub TargetMacro()
MsgBox ThisWorkbook.Name & "のTargetMacroが実行されました"
End Sub
上記サンプルコードで、Book1 の Run_Macro を実行した場合は正常に TargetMacro が動作します。
しかし、実際はには「Book2.xlsm」の部分は可変である必要があり、
実行時に変数で指定される造りとなっております。
その場合、ブック名にシングルコーテーションが含まれると以下のエラーが発生します。
(ブック名が Book'2.xlsm の場合)
実行時エラー '1004':
マクロ ''Book'2.xlsm'!TargetMacro' を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。
ブック名にシングルコーテーションが含まれる状態でも、エラーが発生せずにマクロを実行する方法はないでしょうか?
Excel は 2010、2013 の両方で確認しましたが、何れも同じ状況です。
宜しくお願いいたします。
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
ファイル名中のシングルクォーテーション1つをシングルクォーテーション2つ(ダブルクォーテーションではない)に置き換えれば動くと思います.ファイル名が
Book'2.xlsm
の場合にはVBAコード上にあるファイル名の部分を
Book''2.xlsm
に置き換えて
Application.Run "'Book''2.xlsm'!TargetMacro"
とします.
早速のご返信、ありがとうございます。
シングルコーテーションを2個にすることで
不具合が解消されることを確認いたしました。
大変助かりました。