SSブログ

【エクセル】マクロで他のエクセルのマクロを動かしたいが動かない、ファイル名の使用文字制限 [   ┗パソコン]

エクセル2010
VBAマクロで他のブック「.xlsm」のプロシージャを(Application.Run)で実行しようとする際、他ブックの「ファイル名」に使用出来る文字制限がある。

例、エクセル「自動転記.xlsm」で、エクセル「様式依頼書***.xlsm」にあるプロシージャ「IraiNoSaiban」を動かしたい場合の対策例

【プロシージャで回避するには】
 ・Application.Run以後のファイル名をシングルクォーテーション「'」で括る。

 動作する例(シングルクォーテーション「'」で括る)、下記の()は半角(上段)と全角(下段)の例です。
  Application.Run "'様式依頼書(MFG).xlsm'!IraiNoSaiban"
  Application.Run "'様式依頼書(MFG).xlsm'!IraiNoSaiban"

 動作しない例
  Application.Run "様式依頼書(MFG).xlsm!IraiNoSaiban"


【ファイル名で回避するには】
 ・全角半角のカッコ ( ) はファイル名の一部に使用できなかった、その他文字もあるでしょう。
  プロシージャ名に使用してはいけないものと重複しているんでしょう。

 Application.Runで動作するファイル名の例は
  様式依頼書MFG.xlsm

 Application.Runで動作しないファイル名の例は
  様式依頼書(MFG).xlsm
  様式依頼書(MFG).xlsm
  と()が使われていると下記エラーが出て様式依頼書内のマクロが動かない

エラー名:
実行時エラー'1004':
マクロ 'Application.Run "様式依頼書(MFG).xlsm!IraiNoSaiban'を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。
VBAファイル名に半角カッコでアプリRunが動かない.png
 

カッコ( などがファイル名に入っていると様式依頼書(MFG).xlsmをマクロで開くことは出来るが、そのプロシージャのIraiNoSaibanをマクロで実行するとエラーが出て動かないのに悩んだ。。。

マクロでマクロを動かしたいが動かないというパターンでファイル名が原因というパターンは調べても出てこなかった
良く調べたつもりですが、ありました!
アクセスからエクセルのプロシージャーを実行する際の - 楽天 みんなで解決!Q&A
http://qanda.rakuten.ne.jp/qa7769745.html

マクロを有効にして開く,xlms,Application.Run

会社で購入した書籍はこちら、ちょっと出来る方にお勧めです。

できる逆引き Excel VBAを極める 勝ちワザ700 2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

できる逆引き Excel VBAを極める 勝ちワザ700 2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

  • 作者: 国本 温子
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2012/02/09
  • メディア: 単行本(ソフトカバー)




Excel2013限定版 データを「見える化」する Excelピボットテーブル大事典

Excel2013限定版 データを「見える化」する Excelピボットテーブル大事典

  • 作者: 寺田 裕司
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2014/03/08
  • メディア: 単行本(ソフトカバー)



それとプチ勉強したのは

計算ミスが激減する Excelの数式入力のコツ―数式をワンパターン化すればExcelの作業は驚くほど速くなる!

計算ミスが激減する Excelの数式入力のコツ―数式をワンパターン化すればExcelの作業は驚くほど速くなる!

  • 作者: 村田 吉徳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/05/26
  • メディア: 単行本(ソフトカバー)



nice!(1)  コメント(5)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 5

M

マクロは全然わかんないんですよねー(´Д`)
使ってんのはキーボードマクロだけw

覚えると便利だろうし、できること格段に増えるんだけどねー…。
by M (2013-09-14 20:00) 

宙太郎

増える増える
銀行の入出金をダウンロードしてチェックする際の体裁を整えたり
同じくカードの支払いデータの体裁整えたり
でチェック出来たらセルの色をつけて見やすくしたりと。。。

学校で習った以後ぜんぜん使ってない、約20年以上の空白を経て今勉強(仕事)しながら仕事してます、
あれ、逆か?
勉強の方が多いです(笑)、笑えないな・・・
by 宙太郎 (2013-09-17 21:05) 

やまさん

シングルクォテーションでファイル名をくくるとの的確なご教示ありがとうございます。おかげさまで無事使えています!
もう一歩進めたところで詰まっています、コメントいただけましたら幸いです。

ファイル名、上の例ではプログラムファイル名、"様式依頼書(MFG).xlsm"、をテキスト変数, prognameとしてもたせた場合、うまく走りません。
Application.Run "progname!IraiNoSaiban" とすると、「progname.xlsxが見つかりません」とエラーが出ます。 他にもいろいろな組み合わせで盲滅法やったのですがだめでした。 「Application.Run でファイル名に変数は使えません」でしたら諦めますが、何とかできないものでしょうか?

by やまさん (2015-11-29 10:05) 

やまさん

自己解決しました!

ご紹介いただいたrakutenのサイトにありました、
xlApp.Run "'" & MyFileName & "'!" & "test"
にヒントを得て自作しましたら、無事、変数名で走りました。

重ね重ねありがとうございました。
by やまさん (2015-11-29 10:42) 

宙太郎

解決良かったです
by 宙太郎 (2015-11-29 16:52) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。