2017-08-08 146 views
0

下面的VBA代碼提供給我們,並且應該可以根據我們在excel中的郵政編碼和門牌號來返回街頭地址。VBA Excel基於列表的返回值

但我似乎無法得到它的工作。介意我不是一個VBA專家:(

我有鑰匙,並知道它是必要的。我有一個郵政編碼列,並與streetnumbers一列。我需要輸出爲每個行的streetname。

任何想法如何設置呢?

Sub gkkx() 

Dim xDoc As Object 
Set xDoc = CreateObject("Microsoft.XMLDOM") 
xDoc.async = False 
If xDoc.Load("https://api.pro6pp.nl/v1/autocomplete?auth_key=KEYGOESHERE&format=xml&pretty=True&nl_sixpp=" & Postcode & "&streetnumber=" & Streetnumber) Then 
    If xDoc.DocumentElement.Text = "Not found" Then 
    Plaats = "" 
    Adres = "" 
    Else 
    If xDoc.DocumentElement.ChildNodes.Length = 0 Then 
     Dim xDoc2 As Object 
     Set xDoc2 = CreateObject("Microsoft.XMLDOM") 
     xDoc2.async = False 
     xDoc2.Load ("https://api.pro6pp.nl/v1/autocomplete?auth_key=KEYGOESHERE&format=xml&pretty=True&nl_sixpp=" & Left(Postcode, 4)) 
     Plaats = xDoc2.DocumentElement.SelectSingleNode("result/city").Text 
     Adres = "" 
     Set xDoc2 = Nothing 
    Else 
     Plaats = xDoc.DocumentElement.SelectSingleNode("results/result/city").Text 
     Adres = xDoc.DocumentElement.SelectSingleNode("results/result/street").Text 
    End If 
    'If xDoc.documentElement.childNodes.length > 1 Then 
    ' Tekst41 = MsgBox("Meerdere straten op deze Postcode", vbInformation, "Meerdere Straten") 
    'End If 
    End If 
Else 
    ' The document failed to load. 
    Plaats = "" 
    Adres = "" 
End If 
Set xDoc = Nothing 

End Sub 
+0

「鑰匙」可能會出現在代碼顯示爲「KEYGOESHERE」的地方。只是一種預感。 –

+0

*但我似乎無法完成它的工作* - 投票結束,因爲你不清楚你在問什麼,請提供更多關於你遇到的具體失敗的細節。看[問]並考慮提供[mcve]。 –

+0

我已經鍵入KEYGOESHERE所以是。問題:我有一個郵政編碼欄和一個街道編號欄。我需要爲每一行輸出一個街道名稱。 – Elias

回答

0

我只是通過您的代碼一眼,並沒有做任何測試或分析真什麼是應該做的。有一些代碼行註釋掉在底部:

'If xDoc.documentElement.childNodes.length > 1 Then 
' Tekst41 = MsgBox("Meerdere straten op deze Postcode", vbInformation, "Meerdere Straten") 
'End If 

您可能想要問代碼作者是否打算將這部分代碼保留爲註釋 - 註釋代碼意味着代碼行被編譯器忽略。通過在撇號字符前加上任何文字來創建評論。很多時候,當有人編寫代碼時,他們會將部分代碼註釋掉,以便測試代碼的各個部分。這可能是作者正在做這件事,並忘記取消註釋(通過刪除撇號)這段代碼。

此外,我會指出,這段代碼似乎與Microsoft.XMLDOM一起工作。要開始瞭解此代碼正在做什麼,您可能需要看看HERE

這可能不是一個完整的答案,但我希望它有幫助。基於你的問題的簡短和模糊性,要想真正瞭解你想要問什麼,這有點困難。