使用VBA自动单击消息框

我为我公司的插件自动化testing用例。

在其中一个testing用例中,当我尝试closures工作簿时,将工作簿保存在本地计算机上之后,我需要点击“是” – 将编辑后的数据保存在我们的数据库中,否 – 放弃编辑或“取消”只需closures消息框。

我曾尝试使用sendKeys,但没有为我工作。

例如:对于通过我的VBA代码点击“否”,我试图发送标签,并input这样的键:

Application.Wait (Now() + TimeValue("00:00:10")) Call SendKeys("{TAB}", True) Call SendKeys("{ENTER}", True) 

我用各种时间价值尝试过,仍然没有取得任何成就。 如果有人能帮助我,我会很高兴。

提前致谢! 🙂

更新:截至目前,我一直这样做:

 'Some tasks... ActiveWorkbook.Save Call Application.Run("workbook.xlsm!Discard") Application.DisplayAlerts = False ActiveWorkbook.Close SaveChanges:=False Application.DisplayAlerts = True 

但有没有办法获得消息框的窗口对象引用? 或者无论如何要坚持工作stream程:编辑工作簿 – >保存 – >尝试closures – >select丢弃/提交更改数据库?

注意:通过丢弃/提交对数据库的更改,我的意思是数据更新的服务器。 Excel只是用户的一个界面。 我不希望只保存excel,而是在服务器上调用丢弃/保存更改的操作。

如果您已保存工作簿,则只需closures工作簿。 请尝试下面的代码

 Activeworkbook.close false 

这将closures你的工作簿,你不会被要求select任何选项。