VBACode löschen
14.09.2005 15:37:39
Jörg
ich hab eine Menge Excel-Dateien mit VBA-Makros. Zur Weitergabe der Dateien möchte ich die Makros allerdings komplett entfernen.
Dazu wollte ich mir ein Tool schreiben welches die angegebenen Dateien von VBA-Code und den Modulen bzw. Formen und Klassen "befreit".
Ich bin soweit das ich die einzelnen Zeilen aus den genannten Objekten entfernen kann, somit würde eine Datei entstehen mit allerhand VBA-Objekten (Formen, Klassen, Modulen) in denen aber keine einzige Zeile VBACode drin steht. Ich möchte aber gern die Objekte an sich löschen.
Kann jemand weiterhelfen?
Hier mal ein Ausschnitt aus den Programm-Quellcode:
[vbcode]
If ExcelWBook.VBProject.Protection = VBIDE.vbext_ProjectProtection.vbext_pp_none Then
For iCount2 = 1 To ExcelWBook.VBProject.VBE.CodePanes.Count
' löscht sämtliche VBA-Code-Zeilen aus den Modulen, Sheets und Arbeitsmappen
ExcelWBook.VBProject.VBE.CodePanes.Item(iCount2).CodeModule.DeleteLines(1, ExcelWBook.VBProject.VBE.CodePanes.Item(iCount2).CodeModule.CountOfLines)
Next iCount2
ExcelWBook.Save()
ExcelWBook.Close()
ExcelApp.EnableEvents = True
Else
MsgBox("Die Code-Elemente der Datei " & MainPath & "\" & FileList.Item(iCount) & " sind durch ein Passwort geschützt!", MsgBoxStyle.Critical, "Passwortschutz")
End If
[/vbcode]
P.S. Das Programm hab ich in Visual Studio .NET geschrieben.