JavaScript 数组 可以用以下三种方式创建:
方式1:
var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; cars[2]="Volvo";
方式2:
var cars=new Array("Audi","BMW","Volvo");
方式3:
var cars=["Audi","BMW","Volvo"];
数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。
也就是用以上任意一种方式创建的数组,cars就是一个数组对象。
它有属性和方法,JavaScript中使用对象的属性和方法与vba中一样。
JavaScript的数组的属性和方法可以在官方文档中找到。
其中数组的length属性(区分大小写)可以返回设置或返回数组中元素的数目。
以下vba代码举例演示了如何解析JavaScript的数组:
Sub QQ1722187970()
Dim sJS As String
'JS数组
sJS = "[""Audi"",""BMW"",""Volvo""]"
Dim oHtml As Object
'定义HtmlDocument对象
Set oHtml = CreateObject("htmlfile")
Dim oWindow As Object
Set oWindow = oHtml.parentWindow
With oWindow
.execScript "var arr=" & sJS
'获取JS数组的元素数目,JS数组的length属性可以设置或返回数组中元素的数目
iLen = VBA.CallByName(.arr, "length", VbGet)
'遍历所有JS数组元素
For i = 0 To iLen - 1
.execScript "var arrElement=arr[" & i & "]"
'输出数组元素
Debug.Print .arrElement
Next i
End With
Set oHtml = Nothing
Set oWindow = Nothing
End Sub


发表评论