我正在为我公司的插件自动化测试用例。
在其中一个测试用例中,在尝试关闭工作簿时将工作簿保存在本地计算机上后,我需要单击“是”-将编辑的数据保存在我们的数据库中,“否”-放弃编辑或“取消”-只是关闭消息框。
我曾尝试使用 sendKeys 但这对我不起作用。
例如:为了通过我的 VBA 代码单击“否”,我尝试发送选项卡并输入如下键:
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
但是有什么方法可以获取消息框的窗口对象引用吗?或者无论如何要坚持工作流程:编辑工作簿->保存->尝试关闭->选择放弃/提交对数据库的更改?
注意:通过放弃/提交对数据库的更改,我的意思是数据得到更新的服务器。Excel 只是用户的一个界面。我不希望只保存 excel,但在服务器上调用丢弃/保存更改的操作也是如此......