動的配列を引数として渡している。
戻ってきたとき、配列が作られているか否かの判断の仕方が解らず、ググってググったが、下記で判定できることを確認した。
- 初期値として空の配列を作る。(“varArray = Array()”)
- このままで“UBound(varArray)”すると、-1 が返る。
■ コード
Sub test() Const str1 As String = "あいうえお" Const str2 As String = "かきくけこ,さしすせそ" Dim varArray As Variant Dim i As Long varArray = Array() i = UBound(varArray) Debug.Print "No.1", i varArray = Split(str1, ",") i = UBound(varArray) Debug.Print "No.2", i varArray = Split(str2, ",") i = UBound(varArray) Debug.Print "No.3", i End Sub
■ 結果
No.1 -1 No.2 0 No.3 1
追伸(H25.06.10)
- “varArray = Array("")”とすると、UBound は 0 となる。
- “varArray = split("",",")”とすると、UBound は -1 となる。