Google の Map API から緯度/経度の値を取得しようとしています。Excel で IE オブジェクトを作成してブラウザを開くのは問題ありませんが、返された XML ドキュメントをナビゲートして必要な値を取得するのにかなりの時間を費やしています。
HTMLDocument を作成しましたが、参照は有効に見えますが、それをナビゲートする方法に困惑しています。HTML 出力全体の文字列を取得する方法はありますか? そこから、必要なものを手に入れることができます。
MSXML を使用 - Excel VBA IDE の [ツール] / [参照] で 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