如何在Excel中导出VBA项目

如何在Excel中导出VBA项目,vba,excel,Vba,Excel,我在MicrosoftExcel中准备了一个VBA项目,其中包含许多用户窗体和宏。我想导出所有的文件,但似乎你只能一个接一个地导出,这将花费我很长时间 有没有办法把整个项目都导出?谢谢 以下是我用来导出VBA代码的一些VBA代码: 'Requires Microsoft Visual Basic for Applications Extensibility Private Function exportvba(Path As String) Dim objVbComp As VBComponen

我在MicrosoftExcel中准备了一个VBA项目,其中包含许多用户窗体和宏。我想导出所有的文件,但似乎你只能一个接一个地导出,这将花费我很长时间


有没有办法把整个项目都导出?谢谢

以下是我用来导出VBA代码的一些VBA代码:

'Requires Microsoft Visual Basic for Applications Extensibility
Private Function exportvba(Path As String)
Dim objVbComp As VBComponent
Dim strPath As String
Dim varItem As Variant
Dim fso As New FileSystemObject
Dim filename As String

filename = fso.GetFileName(Path)

On Error Resume Next
    MkDir ("C:\Create\directory\for\VBA\Code\" & filename & "\")
On Error GoTo 0

'Change the path to suit the users needs
strPath = "C:\Give\directory\to\save\Code\in\" & filename & "\"

  For Each varItem In ActiveWorkbook.VBProject.VBComponents
  Set objVbComp = varItem

  Select Case objVbComp.Type
     Case vbext_ct_StdModule
        objVbComp.Export strPath & "\" & objVbComp.name & ".bas"
     Case vbext_ct_Document, vbext_ct_ClassModule
        ' ThisDocument and class modules
        objVbComp.Export strPath & "\" & objVbComp.name & ".cls"
     Case vbext_ct_MSForm
        objVbComp.Export strPath & "\" & objVbComp.name & ".frm"
     Case Else
        objVbComp.Export strPath & "\" & objVbComp.name
  End Select
Next varItem
End Function

传入的Path变量是要从中导出代码的文件的路径。如果有多个文件,只需在循环中使用此函数。

请参阅以下内容,将其转换为外接程序如何?是我用来做这件事的。不过,我认为64位office不适用。谢谢迪克,这很有效。