Нажмите на кнопку на веб-странице, используя VBA - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь автоматизировать загрузку отчета с веб-страницы. Я не могу экспортировать данные с веб-страницы в Excel. В коде не удается нажать кнопку «Экспорт в Excel». В HTML у меня нет имени элемента или идентификатора элемента для доступа к этой кнопке через VBA.

Код HTML - ВХОД onclick = exportToExcel () type = button value = "Экспорт в Excel"

Под логином ()

Const Url$ = "Web Page"

Dim UserName As String, Password As String, LoginData As Worksheet
Set LoginData = ThisWorkbook.Worksheets("Sheet1")
UserName = LoginData.Cells(1, "B").Value
Password = LoginData.Cells(2, "B").Value

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

With ie

.navigate Url
ieBusy ie
.Visible = True

Dim oLogin As Object, oPassword As Object
Set oLogin = .document.getElementsByName("txtUserName")(0)
Set oPassword = .document.getElementsByName("txtPassword")(0)

oLogin.Value = UserName
oPassword.Value = Password

End With

ie.document.getElementsByName("btnLogin")(0).Click



ie.navigate "Web Page"
ieBusy ie

Set Region = ie.document.getElementById("sregion")
Region.selectedIndex = 3

Set Sbg = ie.document.getElementById("sSBG")
Sbg.selectedIndex = 1

Set mth = ie.document.getElementById("smonth")
mth.selectedIndex = 0

Set htmlDoc = ie.document
Set htmlColl = htmlDoc.getElementsByTagName("input")
Do While htmlDoc.READYSTATE <> "complete": DoEvents: Loop
For Each htmlInput In htmlColl
If Trim(htmlInput.Type) = "button" Then
htmlInput.Click
Exit For
End If
Next htmlInput

'I need to insert code here to extract report

End Sub

Sub ieBusy(ie As Object)
    Do While ie.Busy Or ie.READYSTATE < 4
        DoEvents
    Loop
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...