IsArray関数の誤解
VB6のIsArray関数は変数が配列かどうかを判断する関数です。
しかし、引数にVariant型の変数しか使えないとの誤解があるようです。
これは、他のIsなんちゃら系がほとんどVariant型であることと、某参考書までもVariant型と誤って明記されているからかも知れません。
IsArray関数は、Variant型はもちろん、文字列型、整数型でも問題なく使えます。
あと、配列をUBound関数の引数に渡す時に、配列の要素がないとエラーになります。
ですので、Dimで配列宣言した後、ReDimの0で、一つの配列要素をとるとエラーになりません。
だたし、その後の処理でインデックス0の配列の処理を特別に意識しないとなりません。
Dim strWk() As String Dim vntWk() As Variant Dim intWk() As Integer Dim intWk2 As Integer ReDim strWk(0) ReDim vntWk(0) ReDim intWk(0) If IsArray(vntWk) Then intWk2 = UBound(vntWk) MsgBox "配列" End If If IsArray(strWk) Then intWk2 = UBound(vntWk) MsgBox "配列" End If If IsArray(intWk) Then intWk2 = UBound(vntWk) MsgBox "配列" End If