如果打开 Microsoft Access,则打开 Visual Basic 窗口,以便您可以看到 Access 项目中的模块和代码列表。您可以从 Windows 资源管理器中拖动基于文本的文件(txt、cls、bas 等)并将其放入模块文件夹中。
此拖放操作会将基于文本的文件中的代码导入到您的项目中,并提示您保存它(默认名称是您拖放的文件的名称)。
有没有办法使用 VBA 以编程方式执行此操作?这似乎是一个简单的任务,应该有一个简单的解决方案,但我已经研究了好几天,似乎找不到一个简单的方法来完成它。
您可以使用VBComponents.Import
VBE 对象模型中的方法。请参阅导入方法(VBA 插件对象模型)有关详细信息,请参阅 Access 帮助系统中的主题。
此示例代码已导入modImportMe.bas从存储我的数据库的文件夹中。
Dim strFile As String
Dim strPath As String
Dim strProject As String
strFile = "modImportMe.bas"
strPath = CurrentProject.Path & Chr(92) & strFile
Debug.Print strPath
If Len(Dir(strPath)) > 0 Then
'VBE.ActiveVBProject.VBComponents.Import strPath
VBE.VBProjects("Database2").VBComponents.Import strPath
DoCmd.RunCommand acCmdCompileAndSaveAllModules
Else
MsgBox "File not found: " & strPath, vbOKOnly + vbCritical, "Oops!"
End If
注意这个数据库实际上只包含一个VBProject
,所以我可以参考它VBE.ActiveVBProject
。但是,如果您的包含多个VBProject
,通过名称引用它更安全,并且VBProjects("<Name>")
即使只有一个也应该可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)