我在VBA工作。我想将JS数组转换为VBA数组。我快到了。我正在填充数组:" Classarray"成功!但是我调用一个将它转换为VBA数组的函数时遇到问题。我使用的功能在这里:
Dim SortedArray As Variant
Dim jsObj As New ScriptControl
jsObj.Language = "JScript"
With jsObj
.AddCode _
"var classArray = new Array();" & ArrayString & _
"function setArray(ja) {" & _
"var dict = new ActiveXObject('Scripting.Dictionary');" & _
"for (var i=0;i < ja.length; i++ )dict.add(i,ja[i]);" & _
"return dict.items();}"
SortedArray = .Run("setArray", classArray)
End With
问题在于&#34; SortedArray = .Run(&#34; setArray&#34;,classArray)。我有错误&#34;错误:5007&#39; lenght&#39;是null或不是对象&#34;在调试模式下,当它在classarray上显示时,它会显示&#34;空&#34;,但它不是!见附件.jpg。你能告诉我我在做什么吗。运行功能?谢谢。
答案 0 :(得分:1)
好的,我解决了。在功能中,我用“classarray”替换了“ja”。抱怨发布我自己回答的问题,我试着整天找到解决方案。 无论如何,有人可能会将此代码用于他自己的目的。