JavaScript中所有的数据都可以是对象,除了一些内置的对象外,还可以创建新的对象。
当创建新的对象时,JavaScript对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
当要访问对象的属性时,可以有以下两种方式:
name=person.lastname;
name=person[“lastname”];
可以通过以下的vba代码解析JavaScript对象
Sub QQ1722187970() Dim sJS As String Dim arrElement Dim obj() 'JS对象 sJS = "{firstname:""Bill"", lastname:""Gates"", id:5566}" Dim oHtml As Object '定义HtmlDocument对象 Set oHtml = CreateObject("htmlfile") Dim oWindow As Object Set oWindow = oHtml.parentWindow With oWindow .execScript "var obj=" & sJS '用callbyname获取js对象的属性值 Debug.Print VBA.CallByName(.obj, "firstname", VbGet) End With End Sub
上文中使用IHTMLWindow2接口的execScript方法运行JavaScript语句。
发表评论