VBプログラマ質問スレ(6.0以前) Part38
■ このスレッドは過去ログ倉庫に格納されています
0627Orator
NGNG初期化されていない配列は、UBoundするとエラーになりますが、
初期化された空の配列ならば、UBound(LBound)が利用できますよ。
Dim S() As String: S = Split("")
Dim B() As Byte: B = ""
Dim O() As Object: VarType O
Dim V() As Variant: V = Array()
Debug.Print LBound(S), UBound(S)
Debug.Print LBound(B), UBound(B)
Debug.Print LBound(O), UBound(O)
Debug.Print LBound(V), UBound(V)
で、本題。
601さんが作成された関数は、既定の型(通常はVariant)を
受け取るようになっていますよね。
確かに、Variant型には配列を格納できるのですが、
そこにユーザー定義型を渡す場合には、
『ユーザー定義型が、クラスモジュールにて宣言されていて、
かつ、クラスのInstancingがPrivate以外に設定されている』
という条件を満たさなければいけません。
■ このスレッドは過去ログ倉庫に格納されています