私はウェブを検索し、ここでスタックオーバーフローの質問を検索しましたが、解決策を見つけることができませんでした.
これが私がやりたいことです:
「MyClass」という名前のクラス モジュールに次のコードがあるとします。
Option Explicit
Dim var1 as integer
Sub Initialize(v as integer)
var1 = v
End Sub
Function GetVar1()
GetVar1 = var1
End Function
次に、コードを含む別のモジュールにUDFがあります
Function InitializeMyClass(v as integer) as MyClass
Dim myvar as MyClass
Set myvar = new MyClass
Call myvar.Initialize(v)
Set InitializeMyClass = myvar
End Function
Function GetMyVar(m as MyClass)
GetMyVar = m.GetVar1()
End Function
セル A1 には「=InitializeMyClass(3)」があり、セル A2 には「=GetMyVar(A1)」があります。両方のセルで #VALUE エラーが発生します。これはもちろん、ユーザー定義のデータ型をセル A1 に返そうとしているためです。これは可能だと思いますが、方法がわかりません。
編集:そうそう、質問は、「ユーザー定義のデータ型をセルに返し、上記の例で別のUDFから呼び出す方法はありますか?これがCOM が必要かどうか. もしそうなら、誰かが私がどのように開始できるか知っていますか? 理想的には、誰かがこれがどのように機能したかの例を持っていれば、それは素晴らしいことです.
別の編集:さて、それができることがわかりました:この説明を読んでください、それは定量的ではありませんが、彼らが何をしているのかがわかりますhttp://www.quanttools.com/index.php?option= com_content&task=view&id=19