Я пытаюсь автоматизировать загрузку отчета с веб-страницы. Я не могу экспортировать данные с веб-страницы в 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