【问题标题】:Running Access Macro whilst open using Batch file使用批处理文件打开时运行 Access 宏
【发布时间】:2023-07-06 03:52:01
【问题描述】:

我有一个批处理文件,其中包含访问数据库的路径。单击它会打开所需的数据库,但是我希望批处理文件运行宏。

我可以通过创建一个 AutoExec 宏来做到这一点,以便在您打开数据库时运行,但我还希望宏在数据库运行时运行。

这是我目前在批处理文件中的内容:

echo off
start "C:\Program Files (x86)\Microsoft Office\Office\MSACCESS.EXE" "S:\DB NEW\Report.accdb"

我该怎么做?

【问题讨论】:

  • 您的意思是按表单上的按钮?还是?
  • 不,不是来自表单上的按钮。我希望宏在数据库从 .bat 文件运行时自动运行
  • 然后使用Form_Timer
  • 如果您的意思是“在特定的时间间隔”,请使用保持打开状态的表单的 定时器事件 来调用宏。

标签: ms-access batch-file vba ms-access-2010


【解决方案1】:

您可以使用 /x "macroname" 命令行指示符来运行宏(不是 VBA 子或函数,而是宏):

echo off
start "C:\Program Files (x86)\Microsoft Office\Office\MSACCESS.EXE" "S:\DB NEW\Report.accdb" /x MyMacroName

阅读更多:Command-line switches for office

或者,您可以从 VBA 读取使用 /cmd 开关传递的命令。您可以使用读取命令并在加载时执行 VBA 函数的自动启动表单,或者使用在初始化时读取并执行命令的预声明类。

对于更高级的功能,我建议切换到 PowerShell 或 VBScript。这样您就可以挂钩到正在运行的 Access Application 对象并让它们执行代码。

【讨论】:

    最近更新 更多