|
はじめましてVBA初心者で困っています。
xlaに定義した関数を呼出すと、出力引数に値が設定されないのですが。
何か間違っているのでしょうか?
それとも、そういうものなのでしょうか?
下が試したコードです。
動作環境は、Windows2000、Office2000です。
また、String配列を出力にしたいのですが、下と同じように「=」で書くと
「配列には割り当てられません」とコンパイルエラーになってしまいました。
よろしくお願いします。
==============xla側==============
Option Explicit
Public Sub 関数A(ByRef TestLong As Long)
TestLong = 11
End Sub
Public Sub 関数B(ByRef TestStr As String)
TestStr = "BB"
End Sub
Public Function 関数C() As Long
関数C = 77
End Function
Public Function 関数D() As String
関数D = "DD"
End Function
==============本体側==============
Option Explicit
Public Sub Test()
Dim BuffLong As Long
BuffLong = 33
Call Application.Run("Book1.xla!関数A", BuffLong)
MsgBox BuffLong <----------- 33 ×
Dim BuffStr As String
BuffStr = "init"
Call Application.Run("Book1.xla!関数B", BuffStr)
MsgBox BuffStr <----------- "init" ×
BuffLong = Application.Run("Book1.xla!関数C")
MsgBox BuffLong <----------- 77
BuffStr = Application.Run("Book1.xla!関数D")
MsgBox BuffStr <----------- "DD"
End Sub
=================================
|
|