Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Modul oder Sub per Makro entfernen

Modul oder Sub per Makro entfernen
31.08.2005 20:49:49
Chris
Hallo Zusammen,
ist es möglich, per VBA ein bestimmtes Sub oder sogar ein Modul aus dem VBA Projekt zu entfernen?
vielen Dank & Gruß
Chris

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul oder Sub per Makro entfernen
31.08.2005 22:22:19
Nepumuk
Hallo Chris,
löschen eines ganzen Module ist enifach:
Public Sub prcRemove()
    With Workbooks("Mappe1.xls").VBProject
        .VBComponents.Remove .VBComponents("Modul1")
    End With
End Sub

Ein einzelnes Makro ist schon aufwendiger:
Public Sub prcDelete()
    Dim intIndex As Integer, intLine As Integer
    Dim intStartLine As Integer, intEndLine As Integer
    With Workbooks("Mappe1.xls").VBProject
        For intIndex = 1 To .VBComponents.Count
            With .VBComponents(intIndex).CodeModule
                For intLine = 1 To .CountOfLines
                    If .ProcOfLine(intLine, 0) = "TestMakro" Then
                        If intStartLine = 0 Then
                            intStartLine = intLine
                        Else
                            intEndLine = intLine
                        End If
                    End If
                Next
                If intStartLine <> 0 Then
                    .DeleteLines intStartLine, intEndLine - intStartLine + 1
                    Exit For
                End If
            End With
        Next
    End With
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
Makro dass sich selbst löscht
04.09.2005 14:32:57
Reinhard
Hallo allerseits,
scheinbar löscht der nachfolgende Code nicht sich selbst oder ich habe was gefalscht gemacht.
Welcher Code löscht denn sich selbst so dass nachher die Rechnungsdateien keine makros mehr erhalten.
Danke & Gruß
Reinhard

Option Explicit
Private Sub Workbook_Open()
Dim intIndex As Integer, intLine As Integer, intStartLine As Integer, intEndLine As Integer
If ThisWorkbook.CustomDocumentProperties.Count = 0 Then
ThisWorkbook.CustomDocumentProperties.Add Name:="Nr", LinkToContent:=False, Type:=msoPropertyTypeNumber, Value:=0
End If
ThisWorkbook.CustomDocumentProperties("Nr") = ThisWorkbook.CustomDocumentProperties("Nr") + 1
ThisWorkbook.SaveAs Filename:="Rechnung" & ThisWorkbook.CustomDocumentProperties("Nr")
With ThisWorkbook.VBProject
For intIndex = 1 To .VBComponents.Count
With .VBComponents(intIndex).CodeModule
For intLine = 1 To .CountOfLines
If .ProcOfLine(intLine, 0) = "Private Sub Workbook_Open()" Then
If intStartLine = 0 Then
intStartLine = intLine
Else
intEndLine = intLine
End If
End If
Next
If intStartLine <> 0 Then
.DeleteLines intStartLine, intEndLine - intStartLine + 1
Exit For
End If
End With
Next
End With
End Sub

Anzeige
AW: Makro dass sich selbst löscht
04.09.2005 14:41:04
Nepumuk
Hallo Reinhard,
der Prozedurname ist "Workbook_Open"
Mit ProcOfLine fragst keine Zeile ab, sondern den Namen!!!
Gruß
Nepumuk
Excel & VBA – Beispiele
ah, danke dir :-) Gruß o.w.T.
04.09.2005 14:43:01
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige