2017-01-17 6 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 »). Нажмите« Котировки отсутствуют ». – 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 с не удача ... проблема в том, что кнопка, которую вы нажимаете, не содержит URL-адрес для CSV, который вы собираетесь загружать, поэтому, если кто-то еще не знает, как захватить файл, который предлагается открыть или сохранить, как я могу вам помочь.

С уважением, TheSilkRoad

+0

Спасибо. Я продолжаю получать ошибку в первой строке: ошибка компиляции: определенный пользователем тип не определен. Как это исправить? – RageAgainstheMachine

+0

Microsoft Internet Controls (shdocvw.dll) и «Библиотека объектов Microsoft HTML. Получил это, спасибо, чувак! – RageAgainstheMachine

+0

Хорошо, рад помочь. – TheSilkCode