VBA - ArrayList - 获取索引处的元素

时间:2016-06-14 14:02:53

标签: vba arraylist

我是 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

提前致谢。

2 个答案:

答案 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)并享受类型安全。

也就是说,ItemArrayList默认属性,所以您也可以这样做:

Return resultList(2)

答案 1 :(得分:0)

好的,我自己找到了解决方案:

resultList.Item(2)