Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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
使用VBA代码禁用网页的警报消息_Vba_Excel - Fatal编程技术网

使用VBA代码禁用网页的警报消息

使用VBA代码禁用网页的警报消息,vba,excel,Vba,Excel,我正在使用VBA代码打开一个网页,其中包含由用户填写数据的表单。我有包含数据的excel文件。我编写VBA代码,从excel中读取数据并将其放在网页上。填写完网页上的信息后,我点击保存按钮。所有这些工作我都是用VBA代码完成的,所以它可以自动完成。我有500个用户数据,因此我运行循环500次。所有这些都是罚款 只有一个问题出现了,那就是在网页表单中填写数据后,当我单击“保存”按钮时,弹出消息“您的数据已成功保存”。它有“OK”按钮。现在,我的程序停止在这里,需要用户干预才能手动单击“确定”按钮

我正在使用VBA代码打开一个网页,其中包含由用户填写数据的表单。我有包含数据的excel文件。我编写VBA代码,从excel中读取数据并将其放在网页上。填写完网页上的信息后,我点击保存按钮。所有这些工作我都是用VBA代码完成的,所以它可以自动完成。我有500个用户数据,因此我运行循环500次。所有这些都是罚款

只有一个问题出现了,那就是在网页表单中填写数据后,当我单击“保存”按钮时,弹出消息“您的数据已成功保存”。它有“OK”按钮。现在,我的程序停止在这里,需要用户干预才能手动单击“确定”按钮

是否有任何方法可以使用VBA代码停止此弹出消息框,从而不再需要手动干预

我阅读了网页和为网页编写的Javascript。我发现当单击Save按钮时,一个名为
savedetails()
的函数。在这个函数中有一个
alert()
函数。这里的示例代码

function saveDetails()
{
/* get details of member*/
---
---
---
---
---
if (xml.status == 200 || window.location.href.indexOf("http") == -1) {  
    var successCode = "";
alert("Data Saved Successfully");
var tes = xml.responseText;

/*  if (successCode == '1') {  */

document.webDataForm.submit();
remove_popup();
};
}
htmlColl中每个htmlInput的VBA代码

  If Trim(htmlInput.ID) = "btn" Then
    If Trim(htmlInput.Name) = "btnfinal" Then
                              htmlInput.Click  'After this "Data Saved Successfully popup message comes and program need user intervention
                             temp = htmlInput.getAttribute("onClick")
                             MsgBox temp
                            'IE.document.getElementById("clearRelItems").removeAttribute ("o n C l i c k")
                    'Call iedoc.parentWindow.execScript("window.confirm = function saveBankDetails() {return true}", "JavaScript")  // Not worked
                             'htmlInput.removeAttribute ("onClick") //Not worked
                             'htmlInput.setAttribute "onClick", "return TRUE"   //Not worked
                            'Application.SendKeys "{ENTER}", True // Not worked
                            Exit For
                        End If
                    End If
            Next htmlInput

您可以尝试使用Application.DisplayAlerts函数包装该行,该函数生成您不想要的显示框

例如


我有这个问题,我唯一能解决它的方法是写一个vb脚本,识别弹出窗口并关闭它


之后,您只需要从vba代码中调用它。

我正在尝试理解您的问题。。。您是否确实希望显示“Data Saved Successfully”(数据已成功保存)警报消息,但在一两分钟后自动关闭(因此无需“确定”按钮)?或者您要求根本不显示“数据保存成功”警报消息?因为如果是后者(根本没有消息),那么只需删除代码中的“警报(“数据已成功保存”)”行即可。
If Trim(htmlInput.ID) = "btn" Then
    If Trim(htmlInput.Name) = "btnfinal" Then
          Application.DisplayAlerts = False
              htmlInput.Click 
          Application.DisplayAlerts = True

.... Further Code