Makro löschen

27.08.2002


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