您可以使用UBound
来确定数组的大小。我希望这是一个函数返回的数组,但后来我得到了错误Invalid procedure call
。这是(简化)函数:
Public Function GetCheckBlocks(fileName)
Dim counter, checkBlocks
Set checkBlocks = CreateObject( "System.Collections.ArrayList" )
For counter = 0 To 10
checkBlocks.Add counter
Next
Set GetCheckBlocks = checkBlocks
End Function
这是我调用函数并希望获得数组大小的方法:
Dim expectedChecks, expectedFile
expectedFile = "test.txt"
Set expectedChecks = GetCheckBlocks(expectedFile)
MsgBox UBound(expectedChecks)
这里有什么问题,如何获得返回数组的大小?
答案 0 :(得分:1)
您的函数返回一个ArrayList对象,而不是一个数组。 UBound
仅适用于数组。要获取ArrayList中包含的元素数,请使用.Count
属性:
expectedChecks.Count