SSブログ

他ブックのマクロを実行する。Application Run  EXCEL  VBA [マクロ]

以前にも他のブックのマクロを実行するコードを記載しましたが、
今回は少し違う形式でのマクロです。

前回↓
Application.Run Workbooks(2).Name & "!モジュール名.マクロ名"
この場合、ファイルを開く順番によりエラーとなってしまいます。

今回は、↓
AWBN = ActiveWorkbook.Name
Application.Run "'" & AWBN & "'!モジュール名.マクロ名"

としました。マクロ元のブックをアクティブにする必要がありますが、
これでブック名の日付等が変更されてもマクロのコードは変えなく
ても大丈夫です。


nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット
クリック募金 各サイトに直接つながります。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/

http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html

http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html

nice! 0

コメント 2

王子

初書き込みで質問失礼いたします。

下記の様にファイル名を動的に変数に格納した場合
格納されたファイル名のマクロ起動はどのようにすればいいのでしょうか?またマクロの存在チェックはどのようにすればよいでしょうか?

'指定フォルダの~ABC~.xlsファイル取得
wInFolder = D:\
wFile = wInFolder & "*ABC*.xls"
wName = Dir(wFile, vbNormal)
Do While wName <> ""
If wName <> "." And wName <> ".." Then
Workbooks.Open wInFolder & wName
    '指定ファイルのマクロ起動
     AWBN = ActiveWorkbook.Name
Application.Run "'" & AWBN & "'.Name!SyukeiButton_Click"

上記を実行するとファイル名は取れているのですがマクロが見つけられないとエラーが返ってきます。

宜しくお願いいたします。
by 王子 (2009-02-16 10:10) 

honda

王子 さんへ コメント頂きありがとうございます。

始めに、上記のマクロを実行したところ、vbNormal
の使い方がよく判りませんが、結果として
wName = Dir(wFile, vbNormal) の戻り値が
wName ="" となりファイル名が取得できていない
状態となりエラーになります。

EXCELの違いなのでしょうか?
自分のマクロは2003のみ確認出来ています。
2007では未確認です。

また、逆質問となりますが、確認したいことがあります。
If wName <> "." And wName <> ".."
はAndで重複していますが、データの格納状況など
教えて頂けないでしょうか。

さらにもう1点。色々すみませんが、マクロを実行を
抜きとしたファイルオープンのみのマクロコードを
頂ければありがたいです。





by honda (2009-02-16 15:09) 

コメントを書く

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

トラックバック 0

トラックバックの受付は締め切りました

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