从ms访问应用程序导出整个vba代码

时间:2014-07-16 12:05:31

标签: file vba ms-access export directory

我有ms访问应用程序(ms access 2013),我想将所有vba代码导出到文件夹中的单独文件

我可以添加哪些代码来执行此操作?

谢谢,

1 个答案:

答案 0 :(得分:7)

试试这个:

Public Sub ExportVBAComponents()

  Dim wbPath As String
  Dim vbComp As Object
  Dim exportPath As String

  wbPath = ActiveWorkbook.Path

  For Each vbComp In ActiveWorkbook.VBProject.VBComponents
    exportPath = wbPath & "\" & vbComp.Name & Format$(Now, "_yyyymmdd_hhnnss")

    Select Case vbComp.Type
        Case 1 ' Standard Module
            exportPath = exportPath & ".bas"
        Case 2 ' UserForm
            exportPath = exportPath & ".frm"
        Case 3 ' Class Module
            exportPath = exportPath & ".cls"
        Case Else ' Anything else
            exportPath = exportPath & ".bas"
    End Select

    On Error Resume Next
    vbComp.Export exportPath
    On Error GoTo 0
  Next

End Sub

上面的代码会将ActiveWorkbook中的所有VBA组件/模块导出到与工作簿相同的位置。它将使用组件名称作为文件名的一部分,并将添加时间戳。由于您有超过100个模块,因此最好更改导出路径以包含一个子文件夹,以便将它们组合在一起。

注意:为此,您需要选择选项>信任中心>信任中心设置...>宏设置>信任对VBA项目对象模型的访问权限。否则,您会在For Each行中收到一些随机错误。如果您担心,可以在之后勾选该选项。

相关问题