Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用VBA填充.aspx程序-字段消失_Javascript_Html_Asp.net_Vba_Vbscript - Fatal编程技术网

Javascript 使用VBA填充.aspx程序-字段消失

Javascript 使用VBA填充.aspx程序-字段消失,javascript,html,asp.net,vba,vbscript,Javascript,Html,Asp.net,Vba,Vbscript,我正在尝试使用VBA填充.aspx程序中的几个字段 虽然我可以填充已分配ID的字段,但我遇到了一个与没有ID或名称的按钮相关的问题。通过循环浏览HTML,我可以找到并单击此按钮,但单击后显示的隐藏字段立即消失。不会抛出错误,我想看到的隐藏字段只会在屏幕上闪烁一瞬间,然后消失 当我一步一步地完成代码时,它可以正常工作,但当我运行它时就不行了 我原以为速度可能是个问题,但几乎在所有地方都插入了高水平的睡眠,无法修复 ==== 仅供参考-在VBScript中,我可以使用按钮的功能毫无问题地运行此命令:

我正在尝试使用VBA填充.aspx程序中的几个字段

虽然我可以填充已分配ID的字段,但我遇到了一个与没有ID或名称的按钮相关的问题。通过循环浏览HTML,我可以找到并单击此按钮,但单击后显示的隐藏字段立即消失。不会抛出错误,我想看到的隐藏字段只会在屏幕上闪烁一瞬间,然后消失

当我一步一步地完成代码时,它可以正常工作,但当我运行它时就不行了

我原以为速度可能是个问题,但几乎在所有地方都插入了高水平的
睡眠
,无法修复

====

仅供参考-在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