将当前数据库外部的宏转换为 VBA
Converting Macros to VBA from Outside Current Database
我想要一种以编程方式将 Access 宏转换为 VBA 模块的方法。我知道如何手动执行此操作。我正在使用一些代码在当前数据库中执行此操作,并且我让它工作了。但是,我希望能够在当前数据库之外执行此操作。我计划将此程序与其他实用程序类型的程序放在同一个数据库中。下面是我的代码。我收到一条消息,内容为“Microsoft Access 找不到您在对象名称争论中引用的 test1。对于如何实现我想要实现的目标,您有什么建议吗?
Private Sub Command2_Click()
MsgBox "start here"
Dim strDB As String
Dim appAccess As Access.Application
Dim m As Object
strDB = "C:\Users\me\Desktop\testme.accdb"
Set appAccess = New Access.Application
appAccess.OpenCurrentDatabase strDB
For Each m In appAccess.CurrentProject.AllMacros
Debug.Print m.Name
DoCmd.SelectObject acMacro, m.Name, True
DoCmd.RunCommand acCmdConvertMacrosToVisualBasic
Next
Set appAccess = Nothing
End Sub
DoCmd
是 Application
对象的成员。要求这些命令从您创建的新 Application
对象实例 (appAccess) 开始工作,而不是 运行 您的 [=23] 的 Application
实例=]Command2_Click() 程序.
appAccess.DoCmd.SelectObject acMacro, m.Name, True
appAccess.DoCmd.RunCommand acCmdConvertMacrosToVisualBasic
换句话说,基本上对 DoCmd
执行与对 appAccess.OpenCurrentDatabase
和 appAccess.CurrentProject
相同的操作...您将它们关联到特定的 Application
实例。
我想要一种以编程方式将 Access 宏转换为 VBA 模块的方法。我知道如何手动执行此操作。我正在使用一些代码在当前数据库中执行此操作,并且我让它工作了。但是,我希望能够在当前数据库之外执行此操作。我计划将此程序与其他实用程序类型的程序放在同一个数据库中。下面是我的代码。我收到一条消息,内容为“Microsoft Access 找不到您在对象名称争论中引用的 test1。对于如何实现我想要实现的目标,您有什么建议吗?
Private Sub Command2_Click()
MsgBox "start here"
Dim strDB As String
Dim appAccess As Access.Application
Dim m As Object
strDB = "C:\Users\me\Desktop\testme.accdb"
Set appAccess = New Access.Application
appAccess.OpenCurrentDatabase strDB
For Each m In appAccess.CurrentProject.AllMacros
Debug.Print m.Name
DoCmd.SelectObject acMacro, m.Name, True
DoCmd.RunCommand acCmdConvertMacrosToVisualBasic
Next
Set appAccess = Nothing
End Sub
DoCmd
是 Application
对象的成员。要求这些命令从您创建的新 Application
对象实例 (appAccess) 开始工作,而不是 运行 您的 [=23] 的 Application
实例=]Command2_Click() 程序.
appAccess.DoCmd.SelectObject acMacro, m.Name, True
appAccess.DoCmd.RunCommand acCmdConvertMacrosToVisualBasic
换句话说,基本上对 DoCmd
执行与对 appAccess.OpenCurrentDatabase
和 appAccess.CurrentProject
相同的操作...您将它们关联到特定的 Application
实例。