Dieses Beispiel demonstriert das Löschen eines bestimmten
Makro's.
Dazu müssen alle Codezeilen abgearbeitet werden.
Der Start und das Ende des Makro's wird in einem Array
gespeichert,
welcher anschließend verwendet wird, um die entsprechenden
Zeilen zu löschen.
In diesem Fall
wird das Makro mit dem Namen "Löschmich" gelöscht.
Falls nicht vorhanden wird eine entsprechende Fehlermeldung
ausgegeben.
Sub Makro_löschen()
Dim FoundFlag As Boolean
Dim Zeilen()
Makroname = "Löschmich"
Suchtext = "Sub " & Makroname & "()"
Set VBE = Application.VBE.ActiveCodePane.CodeModule
FoundFlag = False
With VBE
For x = 1 To .CountOfLines
If UCase(.Lines(x, 1)) = UCase(Suchtext) Then FoundFlag = True
If FoundFlag Then
Zähler = Zähler + 1
ReDim Preserve Zeilen(Zähler)
Zeilen(Zähler) = x
If .Lines(x, 1) = "End Sub" Then
.DeleteLines Zeilen(1), UBound(Zeilen)
Exit For
End If
End If
Next x
If Not FoundFlag Then MsgBox "Makro " & Makroname & _
" nicht gefunden !", vbCritical
End With
End Sub
|