2017-01-17 73 views
0

我試圖從網站下載數據並將其放入我的excel文件中。VBA - 單擊網站上的按鈕並將數據文件下載到excel

下面是步驟,我想要做的事:

1),進入網站:http://www.housepriceindex.ca/default.aspx

2)點擊 「下載歷史數據(.xls的)」(我被困這裏)

3)在底部([email protected]

4)輸入電子郵件地址,然後點擊接受

5)從剛剛下載的.xls文件傳輸數據到我的文件。

這裏是到目前爲止的代碼

Sub GetData() 


Dim i As Long 
Dim IE As Object 
Dim objElement As Object 
Dim objCollection As Object 

Set IE = CreateObject("InternetExplorer.Application") 

IE.Visible = True 
IE.Navigate "http://www.housepriceindex.ca/default.aspx" 

Do While IE.Busy: DoEvents: Loop 
Do Until IE.ReadyState = READYSTATE_COMPLETE: DoEvents: Loop 

IE.Document.GetElementByID(lnkTelecharger2).Click 


End Sub 

任何幫助表示讚賞!

+0

'IE.Document.GetElementByID(「lnkTelecharger2」)。點擊quotes失蹤。 – newguy

回答

0

所以這是我會做什麼:

Sub GetData() 
Dim IE As InternetExplorer 
Dim HTMLDoc As HTMLDocument 
Dim objElement As HTMLObjectElement 

Set IE = New InternetExplorer 
With IE 
    .Visible = True 
    .Navigate "http://www.housepriceindex.ca/default.aspx" 
    While .Busy Or .ReadyState <> READYSTATE_COMPLETE: Wend 
    .Document.getElementById("lnkTelecharger2").Click 
    While .Busy Or .ReadyState <> READYSTATE_COMPLETE: Wend 
    Set HTMLDoc = .Document 
    Set objElement = HTMLDoc.getElementById("txtEmailDisclaimerEN") 
    objElement.Value = "Email Address" 
    Set objElement = HTMLDoc.getElementById("lnkAcceptDisclaimerEN")   
    objElement.Click 

    ' ... Get CSV somehow ... 

    .Quit 
End With 

Set IE = Nothing 
End Sub 

現在很明顯仍然留給你捕捉CSV-我嘗試了許多不同的方式到工作簿變量設置爲CSV沒有問題運氣......問題在於您點擊的按鈕不包含您將要下載的CSV的URL,因此除非其他人知道如何捕獲正在提示打開或保存的文件,我可以幫你..

Regards, TheSilkRoad

+0

謝謝。我不斷收到第一行的錯誤:編譯錯誤:未定義用戶定義的類型。我該如何解決? – RageAgainstheMachine

+0

Microsoft Internet控件(shdocvw.dll)和 'Microsoft HTML對象庫。明白了,謝謝兄弟! – RageAgainstheMachine

+0

好,很高興幫助。當你下載它時出現了 – TheSilkCode

相關問題