Vba 使用批处理文件运行MS access module时出现“找不到对象”错误的原因是什么?
我正在使用以下批处理文件打开access数据库,并尝试从数据库中运行模块(宏) 批处理文件:Vba 使用批处理文件运行MS access module时出现“找不到对象”错误的原因是什么?,vba,ms-access,batch-file,Vba,Ms Access,Batch File,我正在使用以下批处理文件打开access数据库,并尝试从数据库中运行模块(宏) 批处理文件: @echo off start "" "C:\Program Files (x86)\Microsoft Office\Office\MSACCESS.EXE" "C:\Users\%Username%\OneDrive - Colony Brands\Desktop\CID FE v3.1.accdb" /x MasterRun 模块(Bu
@echo off
start "" "C:\Program Files (x86)\Microsoft Office\Office\MSACCESS.EXE" "C:\Users\%Username%\OneDrive - Colony Brands\Desktop\CID FE v3.1.accdb" /x MasterRun
模块(BuildFileAutoRun):
问题是我不断收到Microsoft Access显示的带有消息框的以下错误:
Microsoft Access找不到对象“MasterRun”。如果“MasterRun”是一个新的宏或宏组,请确保已保存该宏并正确键入其名称
我不确定我错过了什么。任何帮助都将不胜感激 命令行开关需要宏对象的名称。MasterRun不是宏-它是VBA过程。Access中的宏不是VBA代码(Excel中的宏实际上只是VBA过程)。三种类型的宏:常规、嵌入式和数据。使用功能区“创建”选项卡上的“宏生成器”按钮创建常规宏,嵌入的宏位于窗体和报表中,数据宏与表关联 宏可以调用VBA函数,而不是子过程。所以,要么使用等效的宏命令来完成打开窗体和填充控件,要么构建一个可由宏调用的函数 当数据库打开时,名为AutoExec的通用宏将自动执行-无需在开关中引用
另一个选项是数据库选项(或AutoExec宏)中设置的代码隐藏表单,在数据库打开时默认打开-使用表单打开事件在表单打开时运行代码。MasterRun不是宏,它是VBA过程。如果命令行开关需要宏,则生成宏。Access中的宏与Excel不同,不是VBA代码。对不起,我明白你的意思。作为VBA过程编写的内容我一直在调用宏,但Access有自己的“宏”生成器,这就是我要运行的批处理文件设置。好的,我需要找出如何通过批处理文件运行VBA sub。您可以使用名为
AutoExec
的宏启动VBA函数。谢谢大家的帮助。为了让它工作,我在Access中创建了一个宏,然后运行我希望它运行的代码。bat文件现在可以工作了。我感谢你的帮助,今天我也学到了一些东西:)
Public Sub MasterRun()
DoCmd.OpenForm "frmAutoBuild", acNormal, "", "", acEdit, acNormal
Item: [Forms]![frmAutoBuild]![cboYear] = "2020"
[Forms]![frmAutoBuild]![cboBrand] = "Ashro"
[Forms]![frmAutoBuild]![cboSeason] = "S21"
Forms!frmAutoBuild.cmdCreate_Click
End Sub