运行 来自 .bat 的宏,打开另一个 Access 数据库

Running Macro from .bat with another Access db open

我需要 运行 全天定期自动执行一些 Access 宏,我通过安排一个批处理文件来打开相关的 Access 数据库和 运行 宏来做到这一点。

我遇到的问题是,如果我正在处理另一个 Access 数据库,因此已经打开了一个 Access 实例,批处理文件 运行s 但只打开包含宏的数据库应该 运行 并停止。所以宏不会 运行.

有其他人遇到过这个问题或知道如何解决吗?

任务调度程序调用的批处理文件如下所示:

start /min "C:\Program Files\Microsoft Office 15\root\office15\MSACCESS.EXE" "Q:\TC\DNI_Updater\DNIUPDATER.accdb" /X DailyUpdate

当使用 start /min 打开第二个 Access 会话时,我找不到将 DailyUpdate 宏设置为 运行 的方法。

我仍然不确定这是否可行,但我放弃了并转而使用 VBScript。使用这种方法,很容易启动最小化的第二个 Access 会话和 运行 宏 ...

Option Explicit
Dim AccessExePath, DbPath, CmdLine, objShell
DbPath = "C:\Users\hans\Documents\test_hfu.accdb"
AccessExePath = "C:\Program Files (x86)\Microsoft Office\Office14\MSAccess.exe"
CmdLine = """" & AccessExePath & """ """ & DbPath & """" & " /X DailyUpdate"
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run CmdLine, 7 ' Minimize. The active window remains active.

如果这种方法令人满意,您可以使用脚本文件作为计划任务的 "Start a program" 操作 属性 ...