Я хотел бы получить данные клиента из номера НДС (номер NIP в Польше).Я не могу понять, почему код, указанный ниже, работает только в режиме отладки и при нажатии F5, но я установил точку останова в строке с помощью «button.click».Когда я запускаю его без перерыва, он не печатает никаких данных.
Заранее благодарю за любой совет, как с этим справиться.
Метод сна, используемый в процедуре ниже, выглядит следующим образом:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub IE_GetDataFromSite()
Dim IE As SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim button As MSHTML.IHTMLElement
Dim row As MSHTML.IHTMLElement
Dim rows As MSHTML.IHTMLElementCollection
Dim cell As MSHTML.IHTMLElement
Set IE = New SHDocVw.InternetExplorer
IE.Visible = False
IE.navigate "https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx"
Do While IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("txtNip")
HTMLInput.value = "9542583988"
Set button = HTMLDoc.getElementById("btnSzukaj")
button.Click
Do While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
Sleep (1000)
Set HTMLDoc = IE.Document
Set rows = HTMLDoc.getElementsByClassName("tabelaZbiorczaAltRow")
For Each row In rows
Debug.Print row.innerText, row.className
If row.className = "tabelaZbiorczaAltRow" Then
For Each cell In row.Children
Debug.Print cell.innerText
Next cell
End If
Next row
IE.Quit
End Sub