Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code und Module löschen

Code und Module löschen
04.07.2008 11:27:59
volti
Hallo Forum,
folgender Code soll mir die Module und Makros löschen:

Sub Code_loeschen()
'Gesamten Code und Module löschen
Dim myVBComponents As Object
If InStr(ActiveWorkbook.Name, "_aktuell")  0 Then Exit 

Sub 'Sicherheits-check um nicht sich selbst zu löschen
With ActiveWorkbook.VBProject
For Each myVBComponents In .VBComponents
Select Case myVBComponents.Type
Case 1, 2, 3
With myVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
.VBComponents.Remove .VBComponents(myVBComponents.Name)
Case 100
With myVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub


Das hat mal funktioniert, jetzt jedoch wird nur noch der Code gelöscht (immerhin) aber die leeren Module bleiben stehen.
Hat jemand 'nen Tipp? Den Haken bei "VB-Projekt vertrauen" habe ich gesetzt.
Gruß
Karl-Heinz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code und Module löschen
04.07.2008 14:07:00
fcs
Hallo Karl-Heinz,
die Prozedur funktioniert bei mir (Excel2003, office Professional, WIndows XP) einwandfrei.
Ich würde allerdings den Sicherheits-Check etwas anders machen bzw. erweiteren.
Der Zugriff auf das VBA-Projekt einer Exceldatei per VBA ist nur möglich, wenn der Ersteller der Datei unter Extras--Optionen--Sicherheit--Makrosicherheit--- Register "vertrauenswürdige Herausgeber" die Option "Zugriff auf VBA-Projekt vertrauen" aktiviert hat.
Außerdem kann es sein, dass die EDV-Administration bestimmte Zugriffe zentral unterbunden hat.
Gruß
Franz

Sub Code_loeschen()
'Gesamten Code und Module löschen
Dim myVBComponents As Object
On Error GoTo Fehler
If MsgBox("Sämtlichen VBA-Code in aktiver Mappe löschen?", _
vbYesNo, "VBA-Code löschen") = vbYes Then
'Sicherheits-check um nicht sich selbst zu löschen
If LCase(ActiveWorkbook.Name) = LCase(ThisWorkbook.Name) Or _
LCase(ActiveWorkbook.Name) = LCase("Personl.xls") Then
MsgBox "In der Arbeitsmappe " & ActiveWorkbook.Name & _
" darf dieses Makro nicht ausgeführt werden!"
Exit Sub
End If
With ActiveWorkbook.VBProject
For Each myVBComponents In .VBComponents
Select Case myVBComponents.Type
Case 1, 2, 3
With myVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
.VBComponents.Remove .VBComponents(myVBComponents.Name)
Case 100
With myVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End If
Fehler:
If Error  0 Then
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description & vbLf _
& "VBA-Code wurde ggf. wegen Sperrung des Zugriffs nicht gelöscht!"
End If
End Sub


Anzeige
AW: Code und Module löschen
08.07.2008 21:47:00
volti
Hallo Franz,
danke für die Rückmeldung und sorry, dass ich erst jetzt antworte.
Bin etwas aus dem Tritt gekommen und komme auch erst nach meinem Urlaub (2 Wochen HR) wieder dazu, da weiter zu machen.................
viele Grüße
KH

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige