Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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
VBA Projekt komplett löschen
28.10.2008 12:24:00
Jonathan
Hallo zusammen!
Ich möchte vor dem Schließen einer Datei das VBA Projekt komplett löschen.
Ist das irgendwie möglich? Es besteht nur ein Modul.
Vielen Dank Euch!!
Liebe Grüße
Jonathan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Projekt komplett löschen
28.10.2008 12:34:58
rofu
hallo,
probier das mal
gruß
rofu

Sub Module_UserFormen_entfernen()
Dim Ding As Object
With ThisWorkbook.VBProject
For Each Ding In ThisWorkbook.VBProject.VBComponents
'Type 100 = DieseArbeitsmappe und alle Tabellen
'Type 1 = Modul
'Type 3 = UserForm
'Type 2 = Klassenmodul
If Ding.Type  100 Then
.VBComponents.Remove Ding
End If
Next
End With
End Sub


AW: VBA Projekt komplett löschen
28.10.2008 13:13:29
Jonathan
Hey,
danke für die schnelle Antwort!
Jetzt ist mir gerade eins eingefallen:
Die Datei muss danach ja gespeichert und auch automatisch geschlossen (bzw. Excel beendet) werden.
Das kann ja eigentlich gar nicht funktionieren?!
Anzeige
AW: VBA Projekt komplett löschen
28.10.2008 13:15:00
Ramses
Hallo
"...Das kann ja eigentlich gar nicht funktionieren..
Warum nicht ?

Sub demo()
ThisWorkbook.Save
Application.Quit
End Sub


Gruss Rainer

AW: VBA Projekt komplett löschen
28.10.2008 13:17:52
Jonathan
Hey,
weil dann ja auch wieder ein VBA Projekt vorhanden ist?!
AW: VBA Projekt komplett löschen
28.10.2008 13:45:28
JogyB
Hallo.
Hier mal ein Beispielcode, den ich verwende. Vielleicht kannst Du da ja was draus machen.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Datei As String
Dim wbk As Workbook
Dim codeObject As Object
Dim fs
Dim temp() As String
On Error Resume Next
Cancel = True
Set fs = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False
While Datei = ""
Datei = Application.GetSaveAsFilename(, "Microsoft Office Excel Arbeitsmappe (*.xls), (*.xls)" _
, , "Microsoft Excel")
temp = Split(Datei, "\")
Set wbk = Nothing
If fs.FileExists(Datei) Then
If MsgBox("Die Datei " & temp(UBound(temp)) & " besteht bereits. Wollen Sie die bestehende  _
Datei überschreiben?", vbYesNo, "Microsoft Excel") = vbNo Then
Datei = ""
Else
Set wbk = Workbooks(temp(UBound(temp)))
If Not wbk Is Nothing Then
MsgBox ("Kann nicht unter dem Namen einer bereits geöffneten Arbeitsmappe speichern. Es  _
ist bereits ein Dokument mit dem von Ihnen angegebenen Namen geöffnet. Wählen Sie einen anderen Namen für die Arbeitsmappe oder schließen Sie das geöffnete Dokument, bevor Sie speichern.")
Datei = ""
End If
End If
End If
Wend
If Datei Then
ThisWorkbook.SaveCopyAs Filename:=Datei
Set wbk = Workbooks.Open(Datei)
If Not wbk Is Nothing Then
wbk.Sheets("INDEX-Seite").Cells(39, 1).Value = Datei
' Löscht den Code in DieseArbeitsmappe
Set codeObject = wbk.VBProject.VBComponents(wbk.CodeName)
codeObject.codemodule.deletelines 1, codeObject.codemodule.countoflines
' Löscht das Modul, Modulname hier anpassen
wbk.VBProject.VBComponents.Remove wbk.VBProject.VBComponents("Modul1")
wbk.Save
ThisWorkbook.Close False
End If
End If
Application.ScreenUpdating = True
On Error GoTo 0
End Sub


Der Trick besteht darin, dass das Workbook unter anderem Namen gespeichert werden muss und in diesem Zuge der Code in der neuen Datei gelöscht wird.
Wenn Du sie mit Code speichern willst, dann mußt Du in den Entwurfsmodus gehen bzw. den Code in ein Modul statt in BeforeSave packen (dann aber die Löschroutinen anpassen).
Gruss, Jogy

Anzeige
AW: VBA Projekt komplett löschen
28.10.2008 13:45:00
Luschi
Hallo Jonathan,
solche Aktionen muß man natürlich auslagern in ein Excel-AddIn.
Gruß von Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen