0
我想從Google的Map API中獲取經緯度值。我在Excel中創建IE對象並打開瀏覽器時沒有問題,但我有一段時間瀏覽返回的XML文檔以獲取所需的值。從VBA內導航IE XML文檔?
我已經創建了HTMLDocument,並且該引用似乎是有效的,但我難以理解如何導航它。有沒有辦法獲得整個HTML輸出的字符串?從那我可以得到我需要的東西。
我想從Google的Map API中獲取經緯度值。我在Excel中創建IE對象並打開瀏覽器時沒有問題,但我有一段時間瀏覽返回的XML文檔以獲取所需的值。從VBA內導航IE XML文檔?
我已經創建了HTMLDocument,並且該引用似乎是有效的,但我難以理解如何導航它。有沒有辦法獲得整個HTML輸出的字符串?從那我可以得到我需要的東西。
使用MSXML - 您需要在Excel VBA IDE的Tools/References中引用Microsoft XML。
您可以從文件(Load
)或字符串(LoadXML
)加載XML。在我的例子,我從一個文件中加載:
<?xml version="1.0" encoding="utf-8"?>
<testxml>
<tests>
<test nr="1">Number 1</test>
<test nr="2">Number 2</test>
<test nr="3">Number 3</test>
<test nr="4">Number 4</test>
</tests>
</testxml>
VBA來加載文件:
Option Explicit
Sub TestXML()
'***** Declare document
Dim oXmlDoc As DOMDocument
Dim bRet As Boolean
'***** Create empty document
Set oXmlDoc = New DOMDocument
'***** Load XML from file
bRet = oXmlDoc.Load("c:\temp\test.xml")
'***** Manipulate XML
MsgBox oXmlDoc.Text
MsgBox oXmlDoc.XML
MsgBox oXmlDoc.SelectSingleNode("//testxml/tests/test[@nr='3']").Text
'***** Clean up
Set oXmlDoc = Nothing
End Sub