在弹出窗口中输入数据

时间:2017-08-09 13:22:42

标签: vbscript sendkeys

我使用VBScript自动执行涉及多个Access数据库和Excel文件的耗时过程。 我试图克服的一个障碍是处理由不同Access宏生成的弹出窗口。

问题1:

Dim objAccess
Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDatabase "X:\Database1.accdb"
objAccess.DoCMD.RunMacro "Macro1"

Macro1将更新数据库,将出现一个弹出窗口,通知用户输入过程已完成。我希望VBScript到SendKeys "{Enter}"到该弹出窗口关闭它。 我尝试了很多变体,包括发送" {Enter}"在调用宏之前没有成功。激活窗口也没有解决方案。 问题似乎是WSH将等待宏完成运行,所以我正在调查DoCMD.RunMacro方法接受的参数,只是为了找到"等待",布尔值,用于宏完成跑步不是其中之一。

问题2:

Macro2会要求用户输入特定日期。这个日期存储在一个变量中,我希望我的脚本将该变量输入到输入框中,然后单击"确定按钮。问题1的概念相同。由于我遇到问题1,无法解决问题2.

免责声明:由于数据库由跨部门的多个不同用户使用,因此我无权以任何方式修改宏。我必须重现"人工手动输入"。

0 个答案:

没有答案