如何在VBa中从集合中获取对象
我以前有以下工作代码如何在VBa中从集合中获取对象,vba,excel,Vba,Excel,我以前有以下工作代码 Set result = DecodeJson(MyRequest.responseText) Dim keys() As String keys = GetKeys(result.issues) 现在,我的方法已经改变了,结果不是对象,而是基于 我现在遇到的问题是,我不断遇到以下异常 运行时错误“424”: 所需对象 在监视窗口中检查,项显示为类型变量/字符串,其值为“[对象]” 我需要投下它吗?几周前我遇到了这个问题,问题如下: 已使用以下代码收集集合:coll
Set result = DecodeJson(MyRequest.responseText)
Dim keys() As String
keys = GetKeys(result.issues)
现在,我的方法已经改变了,结果不是对象,而是基于
我现在遇到的问题是,我不断遇到以下异常
运行时错误“424”:所需对象 在监视窗口中检查,
项
显示为类型变量/字符串
,其值为“[对象]”
我需要投下它吗?几周前我遇到了这个问题,问题如下: 已使用以下代码收集集合:
collection.Add(OBJECT)
然而,这会导致将对象的值添加到集合中,并且可以通过简单地保留parathesis来解决。Collection.add Object
因此,我的建议是进入GetAllJSonObjects(searchString)
函数并
搜索添加过程,并确保它没有重复。
像这样,集合将包含对象而不是变体,并且带有项(i+1)的代码应该可以正常工作
祝你好运 如果您返回的是一个对象,您需要使用
Set
:Set item=resultsfromquerys.item(i+1)
Hi@Rory,遗憾的是,同样的问题仍然存在(我更新了我的帖子以显示它),如果您使用Set,它不能是字符串,那么它现在是什么对象类型?resultsfromquerys
是一个集合/集合<代码>设置项目
。。。由于上面的错误消息@RoryFrom,我认为您将在循环中得到一个溢出错误。尝试[对于resultsFromQueries.Count-1的i=0和[Set item=resultsFromQueries.item(i)]
Dim resultsFromQueries As Collection
Set resultsFromQueries = GetAllJSonObjects(searchString) ' this calls DecodeJson(MyRequest.responseText) as per the code snippet above
Dim i As Integer
For i = 0 To resultsFromQueries.Count
Dim keys() As String
Dim item As Object
Set item = resultsFromQueries.item(i + 1) ' I guess it's not 0 based?
keys = GetKeys(item.result.issues) 'KABOOM