2013-02-07 48 views
0

我有我一直在試圖把它給我上的按鈕發現距離使用郵政編碼在谷歌

的工作表名稱是inputwks的點擊距離這個VBA腳本,我已經定義了一個名爲C_post細胞,D_postMiles。 我試圖設置C01在VBA腳本是C_post值並C02是的D_post值和距離是Miles

子getDistance的()

Dim inputWks As Worksheet 
Dim c01 As Range 
Dim c02 As Range 
Dim Miles As Range 
Dim distance As Range 

'Set distance = inputWks.Range("Miles") 


Set c01 = inputWks.Range("C_post") 
Set c02 = inputWks.Range("D_post") 
'Set Miles = inputWks.Range("Miles") 

Application.EnableEvents = False 

'c01 As String, c02 As String) As Double 
With inputWks 

With CreateObject("MSXML2.XMLHTTP") 
    .Open "Get", "http://maps.google.co.uk/maps?f=d&source=s_d&saddr=" & c01 & "&daddr=" & c02 
    .send 

Do: DoEvents: Loop Until .readyState = 4 

    If InStr(.responseText, "mi</span>") <> 0 Then _ 
     distance = Val(Split(Split(Split(.responseText, "<div class=""dir-altroute-inner"">")(1), "<span>")(1), "</span>")(0)) 
    .abort 
End With 

End With 


inputWks.Range("Miles") = distance 
Application.EnableEvents = True 

End Sub 

原始馬可看起來像這樣

Public Function Getdistance(c01 As String, c02 As String) As Double 
With CreateObject("MSXML2.XMLHTTP") 
    .Open "Get", "http://maps.google.co.uk/maps?f=d&source=s_d&saddr=" & c01 & "&daddr=" & c02 
    .send 


Do: DoEvents: Loop Until .readyState = 4 

If InStr(.responseText, "mi</span>") <> 0 Then _ 
    Getdistance = Val(Split(Split(Split(.responseText, "<div class=""dir-altroute-inner"">")(1), "<span>")(1), "</span>")(0)) 
.abort 
End With 
End Function 
    Application.EnableEvents = True 
End Function 
+0

不知道q是什麼呢?你有沒有嘗試在Excel中創建一個按鈕,並將其分配給它的OnClick事件? –

+0

以及這是一個公共功能,我試圖讓它進入一個按鈕,所以我增加了幾個位和鮑勃它原宏看起來像這樣 –

+0

嗯,看起來所有gibrish –

回答

0

做的Ive這裏就是答案

子getDistance的()

Dim inputWks As Worksheet 
Dim c01 As Range 
Dim c02 As Range 
Dim Miles As Range 
Dim distance As Long 

'Set distance = inputWks.Range("Miles") 

Set inputWks = Worksheets("Input") 
Set c01 = inputWks.Range("C_post") 
Set c02 = inputWks.Range("D_post") 
Set Miles = inputWks.Range("Miles") 

Application.EnableEvents = False 


With inputWks 

With CreateObject("MSXML2.XMLHTTP") 
    .Open "Get", "http://maps.google.co.uk/maps?f=d&source=s_d&saddr=" & c01 & "&daddr=" & c02 
    .send 

Do: DoEvents: Loop Until .readyState = 4 

    If InStr(.responseText, "mi</span>") <> 0 Then _ 
     distance = Val(Split(Split(Split(.responseText, "<div class=""dir-altroute-inner"">")(1), "<span>")(1), "</span>")(0)) 
    .abort 
End With 


End With 

    Miles = distance 
    Application.EnableEvents = True 

末次

+0

谷歌已經確保其網頁所有你必須做的,如果你使用這是在http後添加一個s –

相關問題