так что я определенно вытащил из воды доступ к VBA за пределами Excel, в котором я его запускаю, и я довольно застрял с этим.
Я пытаюсьавтоматизировать заполнение формы в IE (форма находится во всплывающем окне, которое уже должно быть открыто и может быть открыто только в IE, поэтому я не могу создать окно, затем перейти к нему или использовать Chrome).Из того, что я искал, самое близкое, что я нашел, - это то, что может искать в открытых окнах и проверять заголовки на предмет соответствия.
Debug.Print (wind.Document.Title)
работает нормально, но
wind.Document.GetElementByID("x").Value = "BOA"
выдает ошибку во время выполнения (переменная объекта или переменная блока не установлена)
Dim noURL As Boolean
noURL = True
Dim windDoc As Object
If url_T.Value = "" Then
MsgBox "No URL provided"
Exit Sub
Else
For Each wind In CreateObject("Shell.Application").Windows
If wind = "Internet Explorer" Then
If InStr(UCase(wind.Document.Title), UCase(url_T.Value)) <> 0 Then
noURL = False
Exit For
End If
End If
Next wind
If noURL = True Then
MsgBox "No window located"
Exit Sub
End If
End If
wind.Visible = True
Debug.Print (wind.Document.Title)
wind.Document.GetElementByID("txtIncidentDescription").Value = "BOA"
Вот DOM-представление элемента, который мне нужен (кто-нибудь знает лучший способ копирования этого представления в IE?)
https://imgur.com/a/yrUSdob