AW: Massenpfl.makro um Arbeitsmappenmodule zu leeren?
19.08.2009 13:55:03
JogyB
Hi.
Sub deleteCode()
Dim daTei
Dim myFile
Dim myWbk As Workbook
Dim codeObject As Object
daTei = Application.GetOpenFilename("Excel Dateien (*.xls), *.xls", , , , True)
' Wenn kein Array, dann wurde Abbrechen gedrückt
If Not IsArray(daTei) Then Exit Sub
Application.ScreenUpdating = False
For Each myFile In daTei
On Error Resume Next
Set myWbk = Workbooks.Open(myFile)
' Wenn Öffnen erfolgreich, d.h. kein Fehler
If Err.Number = 0 Then
For Each codeObject In myWbk.VBProject.VBComponents
With codeObject
' Type 100 = Arbeitsblatt oder DieseArbeitsmappe
If .Type = 100 Then
.CodeModule.DeleteLines 1, .CodeModule.CountOfLines
' Hier evtl. noch eine Fehlerbehandlung
End If
End With
Next
myWbk.Close True
' Hier evtl. noch eine Fehlerbehandlung
End If
On Error GoTo 0
Set myWbk = Nothing
Next
Application.ScreenUpdating = True
End Sub
Gruss, Jogy