Module bzw. Code LÖSCHEN - Dilemma
03.10.2004 00:35:46
k.reffert
Habe eine "Roh"-Mappe mit 3 Modulen (die ich auch theoretisch in ein Modul
zusammenfassen könnte...); die Hauptprozedur bewirkt diverse Änderungen an der
Mappe und speichert sie z. Zt. abschliessend unter neuem Namen. Aus dieser neuen
Mappe möchte ich dann AUTOMATISCH alle Module (oder doch zumindest den darin
enthaltenen Code) löschen, ohne daß der User, der via ClickButton die Prozedur
gestartet hatte, das Löschen der Module explizit anstossen muß bzw. überhaupt
"mitbekommt"... Dank der tollen Seite von C. Pearson habe ich die passenden
Codezeilen gefunden, die in meiner TestundTüftelMappe super funktionieren:
Sub ModuleLöschen()
Dim VBComp As VBComponent
Set VBComp = ThisWorkbook.VBProject.VBComponents("Modul1") 'usw.
ThisWorkbook.VBProject.VBComponents.Remove VBComp
End
Sub
er warnt allerdings davor, die Löschung aus dem zu löschenden Modul heraus zu
starten, also kann ich diese Zeilen schlecht an die Prozedur einfach 'dranhängen.
(Wäre mir auch zu risky! Wer weiss, wie Excel reagiert, wenn der Code sich selbst
löschen soll...)
Habe schon überlegt, obige Löschprozedur ins Klassenmodul als
'Workbook_BeforeClose'-Event zu schreiben, aber dann wird der Code ja bereits in
der Roh-Mappe ausgeführt und DAS darf nicht sein, weil ich diese immer als Basis
für den nächsten Monat habe...
Wer kann hier helfen, wer weiss einen Ausweg aus diesem Dilemma?
Forever grateful für jeden Hinweis!
LG,
Karin-die-nicht-weiter-kommt