Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JS数组转换为VBA数组。如何调用数组变量_Javascript_Arrays_Vba_Excel - Fatal编程技术网

Javascript 将JS数组转换为VBA数组。如何调用数组变量

Javascript 将JS数组转换为VBA数组。如何调用数组变量,javascript,arrays,vba,excel,Javascript,Arrays,Vba,Excel,我在VBA工作。我想把JS数组转换成VBA数组。我快到了。我正在填充数组:“类数组”成功!但是,我在调用将其转换为VBA数组的函数时遇到问题。我使用的功能如下: Dim SortedArray As Variant Dim jsObj As New ScriptControl jsObj.Language = "JScript" With jsObj .AddCode _ "var classArray = new Array();" & ArrayString &a

我在VBA工作。我想把JS数组转换成VBA数组。我快到了。我正在填充数组:“类数组”成功!但是,我在调用将其转换为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
Darray作为变体
Dim jsObj作为新的脚本控件
jsObj.Language=“JScript”
与jsObj
.AddCode_
“var classArray=new Array();”&ArrayString&_
函数集合数组(ja){_
“var dict=newActiveXObject('Scripting.Dictionary');”&_
“对于(var i=0;i
问题出在“SortedArray=.Run”(“setArray”,classArray)行。在调试模式下,当classArray上的点显示为“空”时,我得到了错误“错误:5007'Length'为空或不是对象”,但它不是!请参阅附件.jpg。您能告诉我使用.Run函数做什么吗?谢谢


好的,我解决了它。在函数中,我用“classarray”替换了“ja”。很抱歉发布了一个我自己回答的问题,我一整天都在试图找到解决方案。
无论如何,可能有人会出于自己的目的使用此代码。

因为属性是
length
,而不是
lenght
您没有向我们显示
Run()
function,那么我们如何才能告诉您它有什么问题呢?.Run是jsObj的一种方法。好的,我在这里写了lenght,但正如您在代码中看到的,它的长度写得很正确。我认为问题在于函数没有看到classarray…=length为null