繁体   English   中英

从.bat运行宏并打开另一个Access数据库

[英]Running Macro from .bat with another Access db open

我需要全天定期自动运行一些Access宏,方法是安排一个批处理文件打开相关的Access db并运行该宏。

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

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

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

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

使用start /min打开该会话时,我找不到一种方法来使DailyUpdate宏在第二个Access会话中运行。

我仍然不确定是否可以,但是我放弃了,改用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.

如果此方法令人满意,则可以将脚本文件用作计划任务的“启动程序” Action属性...

预定任务动作属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM