脚本打开Access数据库,运行宏,并持久化Access实例

时间:2013-12-05 15:05:06

标签: vba ms-access vbscript

我想要一个脚本:

  1. 打开Access .accdb文件
  2. 在数据库中运行宏
  3. 保持开放状态
  4. 我可以使用以下VB脚本轻松完成前两个:

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

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

    我没有被迫使用VBScript,但它似乎最容易实际调用宏来运行。

2 个答案:

答案 0 :(得分:21)

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

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

accessApp.UserControl = true

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

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

此处提供更多信息:http://msdn.microsoft.com/en-us/library/office/ff836033.aspx

答案 1 :(得分:2)

您也可以使用.bat.cmd文件并将其放置,因为MSACCESS具有用于运行宏的命令行开关,除非该宏关闭数据库,否则它将保持打开以供用户控制。

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