Workbook_Open bei Vorlagedatei nur einmal ausführe
Beate
Hallo Chris,
gleiche Frage hatte ich auch mal, siehe (ist aber lang):
http://www.excel-center.de/forum/read.php?f=1&i=50018&t=50018
So sah bei der Vorlagedatei der Gesamtcode im Codefenster "dieseArbeitsmappe" aus und Ziel war es, das Workbook_Open Makro nach dem ersten Aufruf zu löschen:
-----------------------------------------------------------------
Option Explicit
Private Sub Workbook_Open()
On Error GoTo Errorhandler
ChDir "C:\temp"
ActiveWorkbook.SaveAs Filename:="C:\temp\tobi" + Date$, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Call Test
Me.Save
Debug.Print "Opening: " & ThisWorkbook.Name
Errorhandler:
End Sub
'bis hier sind es 13 Zeilen von oben!!!
Sub Test()
wb = ActiveWorkbook.Name
Call CK(wb)
End Sub
Private Sub CK(Dateiname)
Workbooks(Dateiname).VBProject.VBComponents("DieseArbeitsmappe").CodeModule.DeleteLines 1, 13
End Sub
---------------------------------------------------------------------------
Praktisch ruft das Workbook_Open-Makro am Ende das Makro Test auf (Call Test)und dieses Makro wiederum die Funktion CK. Das Beispiel-Workbook_Open Makro belegt von Option Explicit bis End Sub
13 Zeilen und die Funktion löscht nun einfach diese 13 Zeilen. Somit wird das Makro Test und die Funktion ja später auch nie mehr aufgerufen, weil das Workbook_Open gelöscht ist. Du musst also nur die Zeilenzahl deinem Workbook_Open Makro anpassen und das Makro Test gem. Muster im Workbook_Open aufrufen.
Gruß,
Beate