Лучший редактор VBA для Autocad - PullRequest
4 голосов
/ 20 марта 2011

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

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

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

Есть идеи, как сделать это лучше?

Ответы [ 2 ]

6 голосов
/ 21 марта 2011

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

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
2 голосов
/ 24 мая 2012

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

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

...