从 vb 打开并运行访问宏

Posted

技术标签:

【中文标题】从 vb 打开并运行访问宏【英文标题】:Open and run access macro from vb 【发布时间】:2018-01-08 16:41:50 【问题描述】:

我在 Windows 中使用任务计划程序来触发宏,我想使用 Access 数据库 accdb 文件格式执行此操作,但是我不断收到错误

需要对象 opencurrentdatabase("")

'Run Database
Dim ObjAccess, ObjDB
Set ObjAccess = CreateObject("Access.application")
objAccess.visible = false
Set ObjDB = ObjAccess.OpenCurrentDatabase("filepath\filename.accdb", False) 'error occurs here
ObjDB.Application.Run "'Checklist.accdb'!cmdChkSelectAll_Click" 
ObjDB.Application.Run "'Checklist.accdb'!cmdGenerateAllLists_Click" 
ObjDB.Close False 
ObjAccess.Quit
Set ObjAccess = Nothing

【问题讨论】:

我更新了您的标签以摆脱 [access](因为这似乎不是访问控制问题)并添加 [ms-access](因为您说您使用的是 MS Access) .但是我不认为这是您发布的 VB.Net 代码。确定不是 VBA? 必须是 VBScript。编辑的标签。您是否尝试运行宏或 VBA 程序? Script to open Access database, run macro, and persist Access instance的可能重复 【参考方案1】:

以下内容适用于我在通用模块和宏中运行 VBA 过程:

Dim ObjAccess
Set ObjAccess = CreateObject("Access.application")
ObjAccess.visible = false
ObjAccess.OpenCurrentDatabase("filepath\filename.accdb") 
ObjAccess.Run "Test6"
ObjAccess.DoCmd.RunMacro "Macro1" 
ObjAccess.Quit
Set ObjAccess = Nothing

【讨论】:

以上是关于从 vb 打开并运行访问宏的主要内容,如果未能解决你的问题,请参考以下文章

如何成功执行vbscript?

从 Excel VBA 运行访问查询

如何在当前打开的数据库上通过 excel VBA 运行访问宏?

从 VB.NET 调用访问宏问题

使用更新的参数集无法从 VB 关闭或刷新访问报表

如何在打开 MS Access DB 时禁用宏和启动值