Javascript 使用VBA填充.aspx程序-字段消失
我正在尝试使用VBA填充.aspx程序中的几个字段 虽然我可以填充已分配ID的字段,但我遇到了一个与没有ID或名称的按钮相关的问题。通过循环浏览HTML,我可以找到并单击此按钮,但单击后显示的隐藏字段立即消失。不会抛出错误,我想看到的隐藏字段只会在屏幕上闪烁一瞬间,然后消失 当我一步一步地完成代码时,它可以正常工作,但当我运行它时就不行了 我原以为速度可能是个问题,但几乎在所有地方都插入了高水平的Javascript 使用VBA填充.aspx程序-字段消失,javascript,html,asp.net,vba,vbscript,Javascript,Html,Asp.net,Vba,Vbscript,我正在尝试使用VBA填充.aspx程序中的几个字段 虽然我可以填充已分配ID的字段,但我遇到了一个与没有ID或名称的按钮相关的问题。通过循环浏览HTML,我可以找到并单击此按钮,但单击后显示的隐藏字段立即消失。不会抛出错误,我想看到的隐藏字段只会在屏幕上闪烁一瞬间,然后消失 当我一步一步地完成代码时,它可以正常工作,但当我运行它时就不行了 我原以为速度可能是个问题,但几乎在所有地方都插入了高水平的睡眠,无法修复 ==== 仅供参考-在VBScript中,我可以使用按钮的功能毫无问题地运行此命令:
睡眠
,无法修复
====
仅供参考-在VBScript中,我可以使用按钮的功能毫无问题地运行此命令:
objIE.Document.parentWindow.execScript "addFileBox();", "javascript"
但如果我在VBA中尝试此代码的变体,则会出现“拒绝访问”错误
====
以下是VBA代码:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "http://xxxxxxxxx.com/xxxxxx/xxxxxxx.aspx"
While objIE.Busy
Sleep 100
Wend
objIE.Document.getElementById("ddlCategory").Value = "05" 'Works
objIE.Document.getElementById("txtReference").Value = "150812" 'Works
'Below added to find and click "Add Doc" button, it has no ID or name
Dim Document As HTMLDocument
Dim Elements As IHTMLElementCollection
Dim SingleElement As IHTMLElement
Set Document = objIE.Document
Set Elements = Document.getElementsByTagName("INPUT")
For Each SingleElement In Elements
If SingleElement.Value = "Add Doc" Then
SingleElement.Click
Exit For
End If
Next SingleElement
Sleep 1000
如何修复VBA代码,使字段不会在.aspx UI上消失?
我想看到的隐藏字段只需在屏幕上闪烁片刻,然后消失
。。。嗯,这听起来很奇怪。隐藏字段应该是隐藏的,即使将visible
属性设置为true
也不应该使其可见。。。。你们确定它是隐藏字段吗?我可能并没有正确使用“隐藏”这个术语-我在这里的经验大约为零。试图说明单击按钮会导致.aspx UI上出现以前不可见的两个字段。奇怪的是,当我一步一步地浏览VBA代码时,它就工作了——这些字段出现在UI上,并保持在那里。但是当我运行代码时,我只会看到字段一瞬间,然后它们就消失了。单击按钮时会调用函数addFileBox()
?如果是,此函数的作用是什么?按钮会调用函数。其中有相当多的代码,似乎正在创建有问题的两个字段(输入类型=文件框和组合框)。函数代码的一部分:var newUploadBox=document.createElement(“输入”)
你能编辑你的问题并发布这个函数的代码吗addFileBox
?我想看到的隐藏字段只需在屏幕上闪烁片刻,然后消失
。。。嗯,这听起来很奇怪。隐藏字段应该是隐藏的,即使将visible
属性设置为true
也不应该使其可见。。。。你们确定它是隐藏字段吗?我可能并没有正确使用“隐藏”这个术语-我在这里的经验大约为零。试图说明单击按钮会导致.aspx UI上出现以前不可见的两个字段。奇怪的是,当我一步一步地浏览VBA代码时,它就工作了——这些字段出现在UI上,并保持在那里。但是当我运行代码时,我只会看到字段一瞬间,然后它们就消失了。单击按钮时会调用函数addFileBox()
?如果是,此函数的作用是什么?按钮会调用函数。其中有相当多的代码,似乎正在创建有问题的两个字段(输入类型=文件框和组合框)。函数代码的一部分:var newUploadBox=document.createElement(“输入”)
您能否编辑您的问题并发布此函数的代码addFileBox
?