[[20091217153933]] 『他ブックのプロシージャ呼び出を行い戻り値を取得』(はな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『他ブックのプロシージャ呼び出を行い戻り値を取得するには?』(はな)

Application.Runで他ブックのプロシージャを呼び出し、呼び出し先をFunctionプロシージャで作成した時に戻り値を取得するにはどのようにすればよいのでしょうか?

Application.Runの前に代入演算子を使用するとコンパイルエラーとなってしまします。

環境はExcel2003、WindowsXPです。
ご存知の方、御教授お願い致します。


 エラー時にはエラー内容および、どのようなVBAであるかも書いた方が助言がつきやすいですよ。

 AA = Aplication.Run("マクロ名",引数)
 のようにかっこで囲んでますか?
 (独覚)

 アドインにした方が楽だと思いますし、そのような構成にした事は無いですが
 一応、こんな感じで出来ました。(他にも方法あるのかな?)

  DドライブのTEST.xlsにあるFunction ABCに"123"という引数を与えて返り値を得る場合

  With Workbooks.Open("D:\TEST.xls")
    ans = .Application.Run("TEST.xls!ABC", "123")
    .Close False
  End With

 追記補足
 そもそもFunctionプロシージャは繰り返し使う計算を分離して
 コードを簡単にするのが一番の有用性だと思うので
 そのようなロジックを見直した方が良いと思います。

 (momo)

(独覚)さん、 (momo)ご連絡遅れて申し訳ありませんでした。
とても参考になりましたありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.