我是 VBA 的新手,我很难完成从 ArrayList 中获取特定索引的元素的简单任务>
Set resultList = CreateObject("System.Collections.ArrayList")
resultList.Add element1
resultList.Add element2
resultList.Add element3
resultList.Add element4
return resultList.get(2) '<-- Not working
我检查了ArrayList的文档,但未能找到这样的“get(index)”函数: https://msdn.microsoft.com/de-de/library/system.collections.arraylist(v=vs.110).aspx
提前致谢。
答案 0 :(得分:2)
如果您可以合法地使用return resultList.Item(2)
并拥有正常工作的代码,那么您不会使用VBA而是使用VB.NET。
在VBA中,需要使用函数的标识符来分配函数的返回值:
Public Function GetFoo() As String GetFoo = "Hello" End Function
在VB.NET中,使用
Return
关键字返回函数的返回值:Public Function GetFoo() As String Return "Hello" End Function
如果你正在使用VB.NET,那么你完全没有理由使用CreateObject
来创建ArrayList
。
如果您使用的是.NET 2.0或更高版本,则无论如何都绝对没有理由使用ArrayList
。
使用通用List(Of SomeType)
并享受类型安全。
也就是说,Item
是ArrayList
的默认属性,所以您也可以这样做:
Return resultList(2)
答案 1 :(得分:0)
好的,我自己找到了解决方案:
resultList.Item(2)