Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


56966 / 76738 ←次へ | 前へ→

【24513】Re:別のブックのマクロの実行と結果について
発言  ichinose  - 05/4/23(土) 21:37 -

引用なし
パスワード
   ▼mitu さん:
こんばんは。

>あるブックから別のブックに引数を渡して別のブックのマクロを実行させるべく、下記のようにしました。その結果を戻したいのですが、うまくいきませんのでご教授お願いします。
Runメソッドの引数はByvalつまり、値渡しですからサブプロシジャーの
出力変数として使えませんよ!!
やるとしたら、Functionにして返してもらう方法ですが・・・。


>
>RPth = "'" & "データ処理.xlsのあるディレクトリ名"
>Application.Run (RPth & "データ処理.xls'!マクロ1"), "引数1","引数2,・・・"
>
>sub マクロ1(引数1,引数2,・・・・)
> -----------
>end sub
>
>"引数1"のデータはデータ処理.xlsに引き渡され実行されるのですが、その結果を元のあるブックの引数でアンサーとして得ることができません。
>
>対処の方法をご教授ねがいます。
私は、以下のようにしています。

例えば、ブックA.Xlsの
Thisworkbookのモジュールに
'======================================
sub caller_proc(a as long,b as long,c as long)
  c=a+b
end sub


これをブックb.xlsの標準モジュールから呼び出すには、
'============================================
sub test()
 dim aa as long
 dim bb as long
 dim cc as long
 aa=2
 bb=3
 call workbooks("a.xls").caller_proc(aa,bb,cc)
 msgbox cc
end sub
 
というように呼び出されるプロシジャーをオブジェクトモジュールに記述する
方法を使っています。
試してみて下さい。

0 hits

【24512】別のブックのマクロの実行と結果について mitu 05/4/23(土) 20:39 質問
【24513】Re:別のブックのマクロの実行と結果について ichinose 05/4/23(土) 21:37 発言
【24522】Re:別のブックのマクロの実行と結果について mitu 05/4/24(日) 3:28 質問
【24525】Re:別のブックのマクロの実行と結果について ichinose 05/4/24(日) 9:58 発言
【24528】Re:別のブックのマクロの実行と結果について mitu 05/4/24(日) 13:18 お礼

56966 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free