Ich habe eine ganze Reihe von Makros und Formulare programmiert. Die Makros habe ich der Übersicht halber in verschiedene Module gepackt.
Auch habe ich DieserArbeitsmappe
- Workbook_Open()
- Workbook_BeforeClose(Cancel As Boolean)
definiert.
Weil ich beim öffnen ein bestimmtes Verhalten erzwingen will:
- Aufbau eines Eigenen Popup Menüpunktes und
- den aktuellen Dateinamen von meiner geöffneten
Exceldatei in einer globalen Variable speichern.
Ich habe mior dann ein eigenes xla angelegt. Dieses habe ich wie überall zu lesen mit:
Speichern unter...
DateiTyp *.xla
getan.
So richtig?
Folgendes Verhalten nach dem einbinden der xla tritt auf:
1. Das XLA hat genausviele KB wie die Exceldatei aus der ich das XLA generiert habe, mmh. So _
richtig?
Dann habe ich das XLA in eine andere Exceldatei unter dem Punkt Extras Add-Ins eingebunden.
Folgendes Verhalten nach dem einbinden der xla tritt auf:
1. die .xla sehe ich als eigenes Projekt unter dem abgespeichert namen mit allen Modulen und _
Tabellen die ich der XLS aus der ich die XLA generiert habe. Das heißt auch DieseArbeitmappe ist da. Ist das so Richtig?
2. Nach dem Einbinden scheint vorerst alles in Ordnung.
Nur die Globale Variable hat nicht den DateiNamen der geöffnete Datei sondern den DateiNamen _
die von der XLA. Es scheint ob das in DieserArbeitsmappe definerte Workbook_Open() von der XLA auch aufgerufen wird. Ist das so richtig...?
3. Wenn ich die Aktuelle Datei schließe, und wieder aufrufe dann sehe ich das auch das _
DieseArbeitsmappe in meinem XLA aufgerufen wird. Denn dort kommt dann ein Laufzeitfehler 91. Die nachfoldenden Dinge werden dann nicht mehr getan:
Aufbau des Popup-Menuüs setzen der Globalen Variable.
Konsequenz:
Wenn ich das erstellen des XLAs so richtig gemacht habe. Liegt der Fehler wohl daran das in _
DieseArbeitmappe das Workbook_Open() aufgerufen wird.
Dann ist das im dem Moment auch mein (This.Workbook)
Richtig?
----------------------------------------------------------------------------------
Code DieseArbeitsmappe in der xla:
Private Sub Workbook_Open()
On Error GoTo Fehler
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
MsgBox "Öffenen der Datei " & ThisWorkbook.Name
Application.DisplayAlerts = False
actualWorkBook = ThisWorkbook.Name 'Globale Variable
MeinMenueLöschenVMP
MeinMenueErstellen 'Menue einfuegen
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
GoTo Ende
Fehler:
MsgBox "Ein Fehler ist Aufgetreten... Workbook_Open(). !!!!"
ThisWorkbook.Close SaveChanges:=False
Ende:
End Sub
----------------------------------------------------------------------------------
Wenn ich was verkehrt gemacht habe, was denn?
Was ist an der Workbook_Open() verkehrt, so das es beim erneuten Aufruf einer Exceldatei nach dem einbinden der XLA zum Fehler kommt?
Wie kann ich nun erreichen das die Funktionalität von DieseArbeitsmappe Workbook_Open() der XLA nicht in der XLA ausführt wird sondern in DieseArbeitsmappe Workbook_Open() meiner aktuell aufgrufnen Exceldatei?
Wie bekomme ich es hin das die XLA nicht so groß ist wie die ExcelDatei aus der ich Sie erzeugt habe, denn ich will ja nur die VBA haben?
Vielen Dank für Eure Hilfe?
Gruß
Horst