我有興趣從中提取數據的網頁有一個包含多個搜索字段的表格。我可以將數據輸入到任何這些字段中,然後單擊表格底部的搜索按鈕,然後根據我想要搜索的信息查看結果。如何將HTML可搜索的查詢數據自動化並導出到excel
我想要搜索多個號碼(大約300),而不是單獨搜索這些中的每一個,有沒有一種方法可以自動搜索數據並將數據導入Excel工作表中,以查找每個我想要搜索的數字?
是否有可能使用Excel宏?
我有興趣從中提取數據的網頁有一個包含多個搜索字段的表格。我可以將數據輸入到任何這些字段中,然後單擊表格底部的搜索按鈕,然後根據我想要搜索的信息查看結果。如何將HTML可搜索的查詢數據自動化並導出到excel
我想要搜索多個號碼(大約300),而不是單獨搜索這些中的每一個,有沒有一種方法可以自動搜索數據並將數據導入Excel工作表中,以查找每個我想要搜索的數字?
是否有可能使用Excel宏?
您可以爲此使用MSXML和MSHTML庫。這段代碼應該讓你開始。
開始運行這個子就添了兩個引用(你只需要運行一次此):
Sub addReferences()
ActiveWorkbook.VBProject.References.AddFromGuid "{3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}", 4, 0
ActiveWorkbook.VBProject.References.AddFromGuid "{F5078F18-C551-11D3-89B9-0000F81FE221}", 6, 0
End Sub
然後編輯getCAGEValues
子導入您的CAGE代碼並保存生成的數據(和你想要的任何其他數據從頁面):
Sub getCAGEValues()
Dim oHTMLDoc As MSHTML.HTMLDocument
Dim oSpan As MSHTML.HTMLGenericElement
Dim CAGECodes() As Variant
CAGECodes = Array("12345", "12346") 'CAGECodes is an array of your codes'
For Each CAGECode In CAGECodes
Set oHTMLDoc = getPage(CAGECode)
Set oSpan = oHTMLDoc.getElementById("ctl00_cphMainPageBody_lblCompNameData") 'The id for the company name'
MsgBox oSpan.innerText 'Save the value however you want to.'
Next
End Sub
Function getPage(CAGECode As Variant) As MSHTML.HTMLDocument
Dim oHttpRequest As MSXML2.XMLHTTP60
Set oHttpRequest = New MSXML2.XMLHTTP60
With oHttpRequest
.Open "GET", "http://www.logisticsinformationservice.dla.mil/BINCS/details.aspx?CAGE=" & CAGECode, False
.setRequestHeader "Cache-Control", "no-cache"
.setRequestHeader "Pragma", "no-cache"
.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
.send
End With
Dim oHTMLDoc As MSHTML.HTMLDocument
Set oHTMLDoc = New MSHTML.HTMLDocument
oHTMLDoc.body.innerHTML = oHttpRequest.responseText
Set getPage = oHTMLDoc
End Function
非常感謝Kevin。這是一些很好的信息! – user1821321
你有一些例子,你做了一些測試,一些代碼與我們分享?你如何相信你可以將excel vba與asp.net連接起來?你贏得了什麼部分自動化,因爲編程是他自己的自動化。 – Aristos
答案是:也許。所以請換一句... –
http://www.logisticsinformationservice.dla.mil/BINCS/begin_search.aspx是網站。我想輸入CAGE代碼並生成我擁有的籠形碼列表的結果。 – user1821321