[英]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.