Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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
Inhaltsverzeichnis

Makro löschen beim Umbenennen der Datei

Makro löschen beim Umbenennen der Datei
Marta
Guten Morgen Liebe Forumianer,
ich habe eine Frage:
und zwar möchte ich, die kompletten Makros deaktivieren sobald das Workbook geschlossen oder umbenannt wird.
Gibt es da eine Möglichkeit?
Liebe Grüße
Marta

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

Betreff
Benutzer
Anzeige
AW: Makro löschen beim Umbenennen der Datei
16.06.2010 12:17:50
Oberschlumpf
Hi Marta
Eine Möglichkeit wäre tatsächlich, nach einmaligem Gebrauch, das Makro/alle Makros zu löschen.
Dazu ist es aber erforderlich, dass du die Option "dem VBA-Projekt vertrauen" in Extras/Makro/Sicherheit aktivierst.
Da diese Aktivierung aber nicth mit VBA möglich ist, müsstest du, wenn die Datei auch auf anderen PC funktionieren soll, zu jedem PC hingehen, und diese Option "per Hand" aktivieren - oder eben der, der am PC sitzt, muss das tun.
Eine weitere Schwierigkeit ist, wenn diese Option aktiviert ist, dass es dann auch möglich ist, mit entsprechenden Befehlen (vllt andere Exceldateien mit Makros) den Code so umzuprogrammieren, dass eben auf einmal Makroviren aktiv sind.
Aber schon wegen Grund 1 ist die Möglichkeit, Code mit VBA zu löschen, eher unpraktisch.
Eine weitere Möglichkeit ist es vllt, dass du deinen Code so umschreibst, dass selbiger tatsächlich nur 1x gestartet wird.
Dazu würde ich eine Hilfszelle nutzen, die eben leer ist, wenn das Makro noch nie gestartet wurde, und einen Wert enthält, nachdem das Makro 1x durchlaufen ist.
Wenn die Datei ein zweites Mal geöffnet wird, wird die besagte Hilfszelle abgefragt, und wenn nicht leer, wird das Makro sofort wieder beendet.
Eine Hilfszelle benötigst du auf jeden Fall, da Excel ja nicht weiß, ob eine Datei schon mal gestartet wurde oder nicht.
Hilft das als Denkanstoß?
Ciao
Thorsten
Anzeige
AW: Makro löschen beim Umbenennen der Datei
16.06.2010 12:41:03
Marta
Hallo Thorsten,
vielen Dank, werde das mit der Hilfszelle auf jeden Fall gleich mal ausprobieren.
Hab es im Moment so gelöst:
Private Sub CommandButton1_Click()
Call Alle_Makros_loeschen("")
End Sub

Public Sub Alle_Makros_loeschen(Ausnahmen As String)
Dim objVBComponents As Object
With ActiveWorkbook.VBProject
For Each objVBComponents In .VBComponents
Select Case objVBComponents.Type
Case 1, 2, 3 'Module, Klasssenmodule, Userforms
If InStr(Ausnahmen, objVBComponents.Name) = 0 Then
.VBComponents.Remove .VBComponents(objVBComponents.Name)
End If
Case 100 'Workbook, Sheets
With objVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
aber das mit der Hilfszeile hört sich effizienter an.
Vielen Dank dir.
Ich sag bescheid, wenn ich das Problem gelöst habe, oder ich ein wenig hilfe brauche...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige