使用vba应用程序在IE中的文本字段中输入值

时间:2019-05-17 15:45:26

标签: javascript html vba web-scraping access

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

获取错误“对象不支持此属性或方法。

1 个答案:

答案 0 :(得分:1)

ObjCollection.document不起作用:该集合的属性有限,并且.document不是HTMLElementCollection / DispHTMLElementCollection的属性或方法(因为您声明了后期绑定)。例如,它是InternetExplorer的属性。

直接分配会发生什么?您应该可以直接分配(或尝试从剪贴板向下面的左侧尝试分配)

appIE.document.getElementById("mdForm:commandLineID:inputTextId").value = "1234"