Введите значение в текстовое поле в IE с помощью приложения VBA - PullRequest
1 голос
/ 17 мая 2019

enter image description here У меня есть макрос в Outlook с пользовательской формой.Я должен иметь возможность запустить веб-сайт и ввести это значение в текстовое поле этой запущенной страницы IE.

Например: Код должен открываться https://idea.ca,. После запуска он должен ввести значение "1234" в текстовое поле.

DOM Explorer: имя поля ввода показывается, как показано ниже, когда я вводю его вручную.

Мне удалось запустить веб-сайт, но я не смог ввести значение в конкретном текстовом поле.

Dim appIE As InternetExplorerMedium
Set appIE = Nothing
Dim objElement As Object
Dim ObjCollection As Object
Dim varResults As New DataObject

varResults.SetText "1234"
varResults.PutInClipboard


Set appIE = New InternetExplorerMedium
sURL = "http://acf2prod/WebAdminr15/pages/vantage.jsf"
With appIE
    .navigate sURL
    .Visible = True
End With

Do While appIE.Busy Or appIE.readyState <> 4
    DoEvents
Loop

Set ObjCollection = appIE.document.getElementsByTagName("input")

Set appIE = Nothing

With ObjCollection.document
        .getElementById("inputTextId").Value = varResults.GetText(1)
End With

Getting Error "Объект не поддерживает это свойство или метод.

1 Ответ

2 голосов
/ 17 мая 2019

Это

ObjCollection.document не будет работать: свойства коллекции ограничены, а .document не является свойством или методом HTMLElementCollection / DispHTMLElementCollection (поскольку вы объявляете позднюю привязку). Это, например, свойство InternetExplorer.

Что случилось с простым заданием? Вы должны быть в состоянии назначить прямое (или попробовать следующую левую часть с вашим назначением из буфера обмена)

appIE.document.getElementById("mdForm:commandLineID:inputTextId").value = "1234"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...