|
▼やまぐち さん:
こんにちは
>1.変数定義について
> (A)は、Option Explicit、配列変数を含むパブリック変数を定義済み。
> (B)は、変数宣言は無し。
> この状況下では、パブリック変数は(A)のみの変数となってしまう
> といった認識が正しいのでしょうか?
はい、その認識が正しいですね。
>
>
>2.変数の共有可否について
> (B)のプロシジャーがApplication.Runで(A)プロシジャーを実行し、
> (A)側でパブリック変数に値を設定した後、
> 制御が戻った(B)で変数値を参照したいのですが、実現手段はあるでしょうか?
いろんな方法があるかとは思います。
たとえば以下、Book1.xls側の値をBook2.xlsから参照する場合、
・あらかじめBook1.xls側のTest1を実行して変数 a に値を入れておきます。
・で、Book2.xls側のTest2を実行します。
(Book1.xls側)
Option Explicit
Dim a As String
Sub Test1()
a = "ABC"
End Sub
Function GetVal() As String
GetVal = a
End Function
(Book2.xls側)
Option Explicit
Sub Test2()
Dim s As String
s = Application.Run("Book1.xls!GetVal")
MsgBox s
End Sub
|
|