Лучший редактор VBA для Autocad

Я разрабатываю некоторые макросы VBA в Autocad. Встроенный редактор устарел, но я не смог найти лучшего способа отредактировать .dvb файлы.

.dvb Файл содержит много других исходных файлов, упакованных в, и до сих пор я думаю, что Autocad является единственным программным обеспечением, которое может распаковать их...

Единственный способ сделать это - экспортировать каждый файл из .dvb вручную; но так как у меня там около 30 файлов, не похоже, что это хороший способ сделать что-то.

Любые идеи о том, как сделать это лучше?

2 ответа

Решение

Вы можете экспортировать все свои файлы с этим кодом:

Public Sub Export()
    Dim vbe As vbe
    Set vbe = ThisDrawing.Application.vbe
    Dim comp As VBComponent
    Dim outDir As String
    outDir = "C:\\Temp\\VbaOutput"
    If Dir(outDir, vbDirectory) = "" Then
        MkDir outDir
    End If
    For Each comp In vbe.ActiveVBProject.VBComponents
        Select Case comp.Type
            Case vbext_ct_StdModule
                comp.Export outDir & "\" & comp.Name & ".bas"
            Case vbext_ct_Document, vbext_ct_ClassModule
                comp.Export outDir & "\" & comp.Name & ".cls"
            Case vbext_ct_MSForm
                comp.Export outDir & "\" & comp.Name & ".frm"
            Case Else
                comp.Export outDir & "\" & comp.Name
        End Select
    Next comp

     MsgBox "VBA files were exported to : " & outDir
End Sub

Если вы не хотите изменять свой код с помощью вышеупомянутого Export() подпрограмму, вы можете экспортировать свой код VBA из .dvb файл с помощью макроса VBA2VB Form Converter, написанного Лесли Лоу, или модифицированной версии, написанной Аугусто Гонсалвесом из Autodesk Developer Network. Этот макрос обладает дополнительным преимуществом возможности преобразования простых форм VBA в формы VB6. Вам нужно будет сделать это, если вы хотите иметь возможность портировать проект на.NET в будущем, так как AutoCAD прекращает поддержку VBA. Модифицированная версия макроса особенно хороша, так как создает .vbproj ASCII-файл, который вам понадобится для переноса, в противном случае вам потребуется копия старой IDE Visual Basic 6.

FWIW, A .dvb Файл может быть открыт с помощью утилиты архивирования, такой как 7-Zip, если вы хотите увидеть, что в нем находится, - но он выглядит скомпилированным и бесполезным, если вы хотите, чтобы читаемый или экспортируемый код был понятен человеку.

Другие вопросы по тегам