Excel 用于映射多个方向的VBA IEhttp://gebweb.net/optimap/

Excel 用于映射多个方向的VBA IEhttp://gebweb.net/optimap/,excel,vba,internet-explorer,Excel,Vba,Internet Explorer,我对VBA IE非常陌生。为了我的工作,我必须访问多个地址。我发现一个网站,可以让你添加你需要的,并给你的方向。网站在这里是我想做的,如果可能的话。在A1栏中,我把它列为我的出发点。A2栏是我的起始地址。从A3列到我访问的地址所需的行数,步骤1将宏副本全部保存在A2列中,直到该列中最后一个有地址的单元格。第二步打开网站第三步按地址或lat、lng批量添加。步骤4将A列中复制的所有地址粘贴到网站上的空块中。第五步点击添加网站上的位置列表。第六步点击计算最快往返。第7步打印当前页面,因为这将为我提供

我对VBA IE非常陌生。为了我的工作,我必须访问多个地址。我发现一个网站,可以让你添加你需要的,并给你的方向。网站在这里是我想做的,如果可能的话。在A1栏中,我把它列为我的出发点。A2栏是我的起始地址。从A3列到我访问的地址所需的行数,步骤1将宏副本全部保存在A2列中,直到该列中最后一个有地址的单元格。第二步打开网站第三步按地址或lat、lng批量添加。步骤4将A列中复制的所有地址粘贴到网站上的空块中。第五步点击添加网站上的位置列表。第六步点击计算最快往返。第7步打印当前页面,因为这将为我提供地图以及转弯方向。谢谢大家的帮助。这会节省我一整天的时间。

我会这样做

Sub Maps()


Dim sXMLURL As String
'Me.Text1.SetFocus
sXMLURL = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & Range("A1").Value & "&destinations="
'Me.Text2.SetFocus
sXMLURL = sXMLURL & Range("A2").Value & "&mode=driving&language=en-US&units=imperial&sensor=false"

Dim objXMLHTTP As MSXML2.ServerXMLHTTP60
Set objXMLHTTP = New MSXML2.ServerXMLHTTP60

With objXMLHTTP
    .Open "GET", sXMLURL, False
    .setRequestHeader "Content-Type", "application/x-www-form-URLEncoded"
    .send
End With

'Debug.Print objXMLHTTP.responseText

Dim domResponse As DOMDocument60
Set domResponse = New DOMDocument60
domResponse.LoadXML objXMLHTTP.responseText
Dim ixnStatus
Set ixnStatus = domResponse.SelectSingleNode("//status")

'Debug.Print ixnStatus.Text

If ixnStatus.Text = "OK" Then
    Dim ixnDistance, ixnDuration
    Set ixnDistance = domResponse.SelectSingleNode("/DistanceMatrixResponse/row/element/distance/text")
    Set ixnDuration = domResponse.SelectSingleNode("/DistanceMatrixResponse/row/element/duration/text")
    'Debug.Print "Distance: " & ixnDistance.Text
    'Debug.Print "Duration: " & ixnDuration.Text
    Range("B1").Value = ixnDistance.Text
    Range("B2").Value = ixnDuration.Text
End If

'Me.Command0.SetFocus

Set domResponse = Nothing
Set objXMLHTTP = Nothing

End Sub

请阅读RYGY7272,谢谢您的帮助。我真的很抱歉,因为某种原因,我的第一次感谢你很久以前从未发布过。再次感谢。如果答案有用,请将其标记为有用。谢谢