我正在为我公司的插件自动化测试用例。
在其中一个测试用例中,当我尝试关闭工作簿时将工作簿保存到本地计算机上后,我需要单击“是” - 将编辑后的数据保存到我们的数据库中,“否” - 丢弃编辑或'取消' - 只需关闭消息框。
我尝试过使用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,而是在服务器上调用discard / save更改的操作......
答案 0 :(得分:3)
如果您已保存工作簿,则只需关闭工作簿即可。请尝试以下代码
apiRouter.post('/supplier-list/remove/', function(req,res) {
console.log(' I got it!! ' + req.body.supplierId);
});
这将关闭您的工作簿,并且您不会选择任何选项。