Я пытаюсь проанализировать сводную таблицу на основе Интернета.
К сожалению, мне нужно расширить дополнительные строки в сводной таблице на основе Интернета, чтобы получить доступ ко всем нужным мне данным. Я думаю, что когда я нажимаю на знак +, чтобы развернуть дополнительные строки, скрипт загружает дополнительные данные из базы данных.
В любом случае, вот HTML-код знака +:
<DIV class="clip9x9 di-img" onclick=_Ewa.Gim.tpdfce(event);>
<INPUT title=Expand class=ewaboot_expand type=image alt=Expand src="http://...">
</DIV>
Мне удается получить правильный элемент в переменную, используя IE.document.getElementsByTagName("Div")
и цикл If Loop (по какой-то причине GetElementByClassName
может вызвать сбой в моем IE), но ни один из методов .Click
или .FireEvent (OnClick)
не работает. Я также попробовал оба метода на элементе ввода ниже DIV
, и они тоже не работают.
Вот код
Sub Test()
Dim IE As InternetExplorer
Dim div As Variant
Dim Obj As Variant
Dim WebUrl As String
WebUrl = "http://..../filename.aspx"
Set IE = New InternetExplorerMedium
Sleep 1000
IE.Visible = True
IE.navigate WebUrl
Do While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE
Sleep 1000
Loop
Set div = IE.document.getElementsByTagName("Div")
For Each Obj In div
If Obj.className = "clip9x9 di-img" Then
Obj.Click
Obj.FireEvent ("OnClick")
End If
Next i
End Sub
Когда я смотрю на атрибут onclick моего элемента Obj в Thy Window (редактор VBA), свойство onclick имеет знак +, и при проверке внутри него никакая переменная не присваивается. Я нахожу это странным, так как HTML-код указывает value =”_Ewa.Gim.tpdfce(event);”
, что, как я считаю, относится к сценарию, расширяющему строку сводной таблицы.
Любая помощь будет высоко ценится