我在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
获取错误“对象不支持此属性或方法。
答案 0 :(得分:1)
此
ObjCollection.document
不起作用:该集合的属性有限,并且.document
不是HTMLElementCollection / DispHTMLElementCollection的属性或方法(因为您声明了后期绑定)。例如,它是InternetExplorer的属性。
直接分配会发生什么?您应该可以直接分配(或尝试从剪贴板向下面的左侧尝试分配)
appIE.document.getElementById("mdForm:commandLineID:inputTextId").value = "1234"