Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makros per VBA deaktivieren

Makros per VBA deaktivieren
28.09.2004 11:05:21
Ueli
Hi
Ich habe eine Excelvorlage (Auswertung.xlt), welche verschiedene Makros enthält. Mit Doppelklick auf die Vorlage werden mit "Private Sub Workbook_Open()" die Makros gestartet
Das neue Dokument wir unter Auswertung_"LaufenderMonat".xls gespeichert. In diesem Dokument sollen aber die Makros automatisch deaktiviert oder gelöscht sein.
Besten Dank für Tipps!
Ueli

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

Betreff
Datum
Anwender
Anzeige
AW: Makros per VBA deaktivieren
28.09.2004 11:34:13
Marcl
Hallo Ueli,
in der Hilfe steht foögendes, um aktives Modul zu löschen:

Sub ModulLoeschen()
With Application.VBE.ActiveVBProject
.vbComponents.Remove .vbComponents("DeinModulname")
End With
End Sub

Gruß
Marcl
AW: Makros per VBA deaktivieren
28.09.2004 13:20:49
Ueli
Hi Marcl
Besten Dank für die Antwort!
Ein Problem besteht jetzt noch: Das Workbook_Open() ist ein MS Excel Objekt und liegt auf der Arbeitsmappe und nicht in einem Modul. Wie lösche ich dies?
Gruss
Ueli
AW: Makros per VBA deaktivieren
28.09.2004 14:11:02
Marcl
Dann kann ich Dir leider auch nicht weiter helfen.
AW: Makros per VBA deaktivieren
01.10.2004 13:08:58
thommy1966
Hallo,
ich habe dazu bei Spotligt von GraFi folgenden Code gefunden:
' Code in das erste Tabellenblatt (nach "DieseArbeitsmappe"), da der Löschvorgang
' in der Richtung "letzten Tabelle" zur "ersten Tabelle verläuft". Zuerst "Module",
' dann "Userformen" und zuletzt "Ereignisprozeturen (Code in einem Tabellenblatt) löschen"
'Diese Prozedur zum Löschen aufrufen

Sub Alles_löschen()
Call Lösche_Module
Call Lösche_Userformen
Call Lösche_Ereignisprozeduren
End Sub


Sub Lösche_Module()
'Löscht Module:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 1 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub


Sub Lösche_Userformen()
'Löscht Userforms:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 3 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub


Sub Lösche_Ereignisprozeduren()
'Löscht Ereignisprozeduren:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
If ThisWorkbook.VBProject.vbComponents(n).Type <> 1 And ThisWorkbook.VBProject.vbComponents(n).Type <> 3 Then _
ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
Next
Next
End Sub

siehe:http://spotlight.de/nzforen/mse/m/mse-1096392200-7311.html
Bei mir hats funktioniert.
gruß thommy1966
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige