0

如何让此代码与 Safari 或 Firefox 一起使用?

Public Function getGoogDistanceTime(startAddr As String, startCity As String, _
startState As String, startZip As String, endAddr As String, _
endCity As String, endState As String, endZip As String) As String
Dim sURL As String
Dim BodyTxt As String
Dim apan As String
Dim oXH As Object
    sURL = "http://maps.google.com/maps?f=d&source=s_d&saddr="
    sURL = sURL & Replace(startAddr, " ", "+") & ",+" & Replace(startCity, " ", "+") & ",+" & startState
    sURL = sURL & "&daddr=" & Replace(endAddr, " ", "+") & ",+" & Replace(endCity, " ", "+") & ",+" & endState
    sURL = sURL & "&hl=en"
    Set oXH = CreateObject("msxml2.xmlhttp")
            With oXH
              .Open "get", sURL, False
              .Send
              BodyTxt = .RESPONSETEXT
            End With

            apan = Application.WorksheetFunction.Trim(apan)
            apan = Mid(BodyTxt, InStr(1, BodyTxt, "<div class=""altroute-rcol altroute-info"">") + 49, 200)
            apan = Left(apan, InStr(1, apan, "</span>    </div>") - 1)
            apan = Replace(apan, "</span>", "")
            apan = Replace(apan, "<span>", "")
            getGoogDistanceTime = apan
    Set oXH = Nothing
End Function
4

1 回答 1

0

您的代码是用 VBScript 编写的,这是一种仅限 Internet Explorer 的语言。您需要用所有浏览器都理解的 JavaScript 重写它。

您还使用仅 IE 代码来执行 AJAX,使用msxml2. 这将需要更改为使用更通用的 AJAX 代码,使用XMLHttpRequest对象。

我不知道是什么Application.WorksheetFunction.Trim(),但你需要找到一个 JavaScript 替代品。

于 2013-01-31T16:30:22.530 回答