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

Löschen von VBA Code

Löschen von VBA Code
04.08.2003 17:02:30
Andreas
Hallöchen!
Ich möchte vor dem Speichern eines Dokumentes, aber natürlich nach dem Abarbeiten aller VBA-Code Zeilen den gesamten VBA Code des Dokumentes löschen.
Dazu möchte ich folgenden Code anwenden.
1: Option Explicit
2:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
3:  'Sonstige Anweisungen...
4:   With ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule
5:      .DeleteLines 1, .CountOfLines
6:   End With
7: End Sub

Das betreffende Worksheet wird aus einer Vorlage generiert und anschließend
unter einem dynamisch erzeugten Dateinamen gespeichert. Der Dateiname ist also
immer unterschiedlich - Er wird in einer Zelle in Mappe1 generiert und bei
"SaveAs" ausgelesen. In wie weit muss ich das Script modifizieren, so dass
der String des Dateinamen zum löschen aller VBA Codes genutzt wird, und erst
danach zum speichern mittels "SavesAs Filename:="?
Schonmal vielen Dank für eure Unterstützung.
Viele Grüße
Andreas

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

Betreff
Datum
Anwender
Anzeige
AW: Löschen von VBA Code
04.08.2003 17:05:13
Hajo_Zi
Hallo Andreas
was klappt nicht, kommt eine Fwehlermeldung??
Code Löschen
' löschen von allen Makros
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Modul1")
.VBComponents.Remove .VBComponents("Modul2")
.VBComponents.Remove .VBComponents("Modul3")
' löschen von z.B. Workbook_open:
With .VBComponents("DieseArbeitsmappe").CodeModule
.DeleteLines 1, .CountOfLines
End With
' löschen von z.B. Worksheet_Activate:
With .VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
von Steffen D (Herber.de)
Du mußt natürlich unter Extra, Makro, Sicherheit den Zugriff auf das VBA Projekt zulassen.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Löschen von VBA Code
04.08.2003 17:18:26
Andreas
Hallo Hajo,
erst einmal vielen Dank für deine mehr als zügige Antwort! :)
Also ...es erscheint die übersetzte Fehlermeldung, dass das Worksheet
nicht gefunden wurde. Das liegt daran, dass die BeforeClose Aktion
immer erst wirkt, nachdem der Dateiname bereits generiert wurde - Egal
wie ich's auch anstelle.
Ach ja..und mit der Zugriffsfreigabe auf alle Module hab ich auch so
meine Problemchen. Ist es möglich, den Schutz für das gesamte VBA-Projekt
erst kurz vor Abarbeitung der Löschen-Routine aufzuheben - in die Routine
selbst einbinden?
Viele Grüße
Andreas

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige