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

VBA Code löschen

VBA Code löschen
14.01.2008 18:42:18
Torge
Hallo,
kann jemand helfen oder einen Hinweis geben, wie folgendes Problem gelöst werden kann:
Ich habe an die 300 Excel-Dateien mit unterschiedlichen VBA Code. In diesen muss der komplette VBA Code gelöscht werden. Um das alles per Hand zu machen, dauert ziemlich lange, gibt es eine Möglichkeit mittels VBA den Code dieser Dateien die sich in einem Ordner befinden in einem rutsch zu löschen, ohne alle einzel öffnen zu müssen? Mir dauert das alles zu lange. Die Dateien müssen aufbewahrt werden aber möglichst ohne VBA Code. Ich habe da eine begrenzte Nutzungsdauer drin und das muss ich entfernen, da ich nicht weiss in welchen Dateien dass steht.
kann hier jemand helfen, geht dies überhaupt zu realisieren?
Vielen Dank schon mal.

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Code löschen
14.01.2008 18:49:00
Horst
Hi,
ohne die Dateien zu öffnen? Nein!
mfg Horst

AW: VBA Code löschen
14.01.2008 19:05:54
Torge
Alles klar Danke.
Gr. T.

AW: VBA Code löschen
14.01.2008 19:10:00
ransi
HAllo Torge
Ich nehme mal an mit
"ohne alle einzel öffnen zu müssen?" meinst du das du das nicht von HAnd machen möchtest ?
Wenn dem so ist dann:
kann jemand helfen oder einen Hinweis geben,
1.)
Mit Application.Filsearch alle beteffenden Dateien finden.
2.)
Eine nach der anderen mit WorkBooks.Open öffnen.
Am besten in einer neuen Instanz in der du erst die Events ausschaltest.
(Nur damit kein Workbook_Open anspringt)
3.)
Die Module, Klassenmodule und Userforms entfernen.
Hier ist ein Rumpfcode der das macht:
Dim WB As Workbook
Dim VB_Comp
Dim C
Set WB = Workbooks("Mappe2.xls") 'Das "andere" Workbook. Anpassen!
Set VB_Comp = WB.VBProject.VBComponents
'#######
'Alle Module, Userforms und Klassenmodule löschen
For Each C In VB_Comp
    Select Case C.Type
        Case 1 To 3: VB_Comp.Remove (C)
    End Select
Next
4.)
Jetzt nur noch den Code aus den Sheets und DieseArbeitsmappe entfernen.
(Habe ich mich noch nicht mit beschäftigt)
Der Befehl dafür heisst glaub ich DeleteLines
5.)
Die Datei speichern und schliessen.
Das Ganze funktioniert aber nur wenn:
-Die Makros nicht mit Passwort geschützt sind
-Der Haken bei
Menu Extras-->Makro-->Sicherheit-->Register Vertauenswürdige Quellen-->Zugriff auf VisualBAsic Project vertrauen
gesetzt ist.
Ich hoffe ich hab nichts vergessen....
ransi

Anzeige
AW: VBA Code löschen
14.01.2008 19:18:00
Nepumuk
Hi,
in Ergänzung zu Ransis Hinweisen:
Public Sub alle_Makros_loeschen()
    Dim objVBComponents As Object
    With Workbooks("Testmappe.xls").VBProject
        For Each objVBComponents In .VBComponents
            Select Case objVBComponents.Type
                Case 1, 2, 3 'Module, Klasssenmodule, Userforms
                    .VBComponents.Remove .VBComponents(objVBComponents.Name)
                Case 100 'Workbook, Sheets, Carts
                    With objVBComponents.CodeModule
                        .DeleteLines 1, .CountOfLines
                    End With
            End Select
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige