Excel VBA質問箱 IV

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

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


36853 / 76738 ←次へ | 前へ→

【45060】xlaのプロシージャの呼び出し
質問  初心者  - 06/12/11(月) 14:16 -

引用なし
パスワード
   はじめまして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
=================================
0 hits

【45060】xlaのプロシージャの呼び出し 初心者 06/12/11(月) 14:16 質問
【45061】Re:xlaのプロシージャの呼び出し Jaka 06/12/11(月) 14:42 発言
【45062】Re:xlaのプロシージャの呼び出し 初心者 06/12/11(月) 16:19 お礼

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