首页 > 技术文章 > AutoCAD VBA 批量导出源代码

NanShengBlogs 2021-10-09 19:50 原文

 

 

 

点击查看代码

Public Sub MyCMD_导出VBA代码()
    Const Module = 1
    Const ClassModule = 2
    Const Form = 3
    Const Document = 100
    Const Padding = 24
    Dim VBComponent As Object
    Dim Count As Integer
    Dim path As String
    Dim directory As String
    Dim extension As String
    Dim fso As New FileSystemObject
    directory = fso.GetParentFolderName(Application.VBE.ActiveVBProject.FileName)
    Count = 0
    If Not fso.FolderExists(directory) Then
        Call fso.CreateFolder(directory)
    End If
    Set fso = Nothing
    For Each VBComponent In Application.VBE.ActiveVBProject.VBComponents
        Select Case VBComponent.Type
        Case ClassModule, Document
            extension = ".cls"
        Case Form
            extension = ".frm"
        Case Module
            extension = ".bas"
        Case Else
            extension = ".txt"
        End Select
        On Error Resume Next
        Err.Clear
        path = directory & "\" & VBComponent.Name & extension
        Call VBComponent.Export(path)
        If Err.Number <> 0 Then
            Call MsgBox("Failed to export " & VBComponent.Name & " to " & path, vbCritical)
        Else
            Count = Count + 1
            'Debug.Print "Exported " & Left$(VBComponent.Name & ":" & Space(Padding), Padding) & path
        End If
        On Error GoTo 0
    Next
    MsgBox "Successfully exported " & CStr(Count) & " VBA files to " & directory
End Sub

推荐阅读