2011-03-20 56 views
4

我開發在AutoCAD中一些VBA宏。內置的編輯器已過時,但我無法找到任何更好的方式來編輯.dvb文件。更好的VBA編輯器適用於AutoCAD

一個.dvb文件確實包含了許多其他的源文件裝在,到目前爲止,我認爲AutoCAD是可以解壓它們唯一的軟件...

這似乎是能夠做到這一點的唯一方法,是手動導出.dvb中的每個文件;但由於我在那裏有大約30個文件,似乎這不是一個很好的做事方式。

如何做得更好任何想法?

回答

5

您可以將所有文件導出,此代碼:

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 
+0

得心應手。好一個。 – 2011-03-21 22:32:13

+0

我之前做了類似於合併從不同的開發者編輯的相同DVB上編輯的文件。我開發了一個VBA插件來自動執行這個任務,並完成一個定義的路徑導出。那些艱難時刻。幸運的是,我們現在切換到.NET。 – WizzardsApprentice 2011-03-23 15:57:15

2

如果你不喜歡上述Export()子程序修改你的代碼,你可以從.dvb文件中使用VBA2VB Form Converter導出VBA代碼宏由Leslie Lowe編寫,或由Autodesk Developer Network的AugustoGonçalves編寫的modified version。這個宏可以將簡單的VBA表單轉換爲VB6表單。如果您希望將來能夠將項目移植到.NET,則需要執行此操作,因爲AutoCAD正在放棄VBA支持。宏的修改版本是特別好,因爲它會創建一個你需要做的遷移,這否則你需要老的Visual Basic 6 IDE的副本,使.vbproj ASCII文件。

FWIW,A .dvb文件可以使用7-Zip之類的存檔實用程序打開,如果您想查看其中的內容 - 但它看起來是被編譯的,並且如果您想要人類可讀或可導出的代碼。

+0

我找不到修改後的版本,但第一個仍然可用 – orellabac 2017-12-19 18:29:07