You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB脚本调用Access宏执行完成后报错800A09C5,如何消除该错误?

解决VBS调用Access宏后报错的方案

问题根源

报错是因为宏执行完毕后数据库已自动关闭,但VBS脚本仍尝试访问已失效的Access对象,触发了系统错误提示。

具体解决方法

方法1:添加错误捕获语句

在脚本末尾加入错误忽略指令,避免因对象失效弹出报错:

Set objAccess = CreateObject("Access.Application")
objAccess.UserControl = True
objAccess.OpenCurrentDatabase("你的数据库文件路径")
objAccess.DoCmd.RunMacro "AutoRunAll"
On Error Resume Next ' 忽略后续因数据库关闭导致的对象操作错误
Set objAccess = Nothing

方法2:由VBS控制数据库关闭

修改AutoRunAll宏,移除其中关闭数据库的操作,改为在VBS里手动关闭,保证对象操作的完整性:

Set objAccess = CreateObject("Access.Application")
objAccess.UserControl = True
objAccess.OpenCurrentDatabase("你的数据库文件路径")
objAccess.DoCmd.RunMacro "AutoRunAll"
objAccess.CloseCurrentDatabase() ' 手动关闭数据库
Set objAccess = Nothing

方法3:先检查对象状态再释放

执行宏后先判断Access对象是否可用,再进行后续操作:

Set objAccess = CreateObject("Access.Application")
objAccess.UserControl = True
objAccess.OpenCurrentDatabase("你的数据库文件路径")
objAccess.DoCmd.RunMacro "AutoRunAll"

' 检查对象状态后再清理
If Not objAccess Is Nothing Then
    On Error Resume Next
    objAccess.Quit
    Set objAccess = Nothing
End If

内容的提问来源于stack exchange,提问作者Mark N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:52:02