自动应答窗口.确认使用VBA

Automatically answer a window.confirm using VBA

本文关键字:VBA 确认 窗口 应答      更新时间:2023-09-26

我有一些VBA代码,打开一个网页,然后调用一个javascript函数,删除页面上的文件。当调用这个函数时,它调用一个窗口。在HTML中确认,以确保用户确实想要删除文件。选项是yes和cancel。我的问题-是否有任何方法自动使我的VBA代码回答是?事实上,除了点击"是"之外,我可以自动执行所有操作,这意味着我仍然需要坐在那里,为每个想要删除的文件点击"是";运行代码,然后走开就好了。编辑:如果它有帮助,这里是我用来执行javascript的代码。另外,javascript函数代码

我代码:

Dim CurrentWindow As HTMLWindowProxy: Set CurrentWindow = IE.Document.parentWindow
m = 2
Do Until date_var < "2011-7-1"
        Cells(1, 11).Value = Range("j1") - m
        date_var = Cells(1, 11).Value
        date_var = Format(date_var, "yyyy-m-d")
        Call CurrentWindow.execScript("Delete('filepath_here_" & date_var & ".csv?DELETE')")

Javascript函数:

<SCRIPT LANGUAGE="JavaScript">
function Delete(What)
{
   if (window.confirm("Do you really want to delete this file"))
   {
      location.href = What;
   }
}
</SCRIPT>

我不知道VBA,但尝试以下脚本:

Call CurrentWindow.execScript("location.href='filepath_here_" & date_var & ".csv?DELETE';")

应该可以了。这比直接调用delete函数要好。没有函数调用开销,没有副作用,也没有确认框。将代码的最后一行替换为这一行,并检查

您可以尝试在页面加载时执行这段代码:

window.confirm = function() {
    return true;
};