打开Access数据库、运行宏并保留Access实例的脚本

15

我希望有一个脚本可以:

  1. 打开一个Access .accdb文件
  2. 运行数据库中的宏
  3. 保持此文件处于打开状态

我可以通过以下VB脚本非常容易地完成前两步:

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true
accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"

但是当VBS执行完成后,它会立即关闭Access数据库。 我希望该实例独立于脚本而保持打开状态。

我并不强制要求使用VBScript,但实际上似乎最容易调用宏来运行。

2个回答

22

如果你想在脚本完成后保持应用程序的打开状态,你需要将 UserControl 属性设置为 true

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true

accessApp.UserControl = true

accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"

UserControl属性为true时,Visible属性在技术上是不必要的。它将自动设置。

更多信息请参见:http://msdn.microsoft.com/zh-cn/library/office/ff836033.aspx


1
太好了,谢谢。应用程序方法页面上的描述非常模糊,与其含义无关 - “您可以使用UserControl属性来确定当前Microsoft Access应用程序是由用户启动还是由其他应用程序通过Automation(以前称为OLE Automation)启动。可读/写布尔值。”我猜这对于MSDN来说不应该让我感到惊讶... - enderland

2

您也可以使用 .bat.cmd 文件,并将此命令放入其中,因为 MSACCESS 有一个命令行开关来运行宏,除非该宏关闭数据库,否则它将保持打开状态以供用户控制。

START "" /MAX "PATH\TO\MSACCESS.EXE" "C:\path.accdb" /x myLinker


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接