AddIn Probleme Ladeverhalten und Ereignisse
littletramp
Ich habe in Excel 2010 einen Excel-Add-In (.xlam) erstellt. Da der Add-In in Excel immer geladen sein soll habe ich ihn im Excel-Startup-Verzeichnis XLSTART gespeichert.
Nun habe ich aber folgendes, unerwartetes Verhalten festgestellt:
Problem 1:
Wenn ich Excel normal über Menü Start oder per Link starte, so wird der Add-In korrekt geladen. Starte ich aber Excel durch Doppelklick auf eine bestehende Arbeitsmappe, so wird der Add-In nicht geladen.
Dasselbe passiert auch, wenn ich den Add-In im AddIns-Verzeichnis speichere, und ihn in Excel über Optionen -> AddIns -> Excel-AddIns, hinzufüge und aktiviere.
Problem 2:
Wenn der Add-In geladen ist, so wird beim Erzeugen einer neuen Arbeitsmappe mit der Vorlage "Leere Arbeitsmappe" wie erwartet das Ereignis NewWorkbook ausgeführt. Erzeuge ich aber eine neue Arbeitsmappe mit einer selbsterstellten Vorlage über Datei -> Neu -> Meine Vorlagen, so wird nicht wie erwartet das Ereignis NewWorkbook, sondern das Ereignis WorkbookOpen ausgelöst.
Frage 1:
Ist dieses Verhalten von anderen ebenfalls festgestellt worden?
Frage 2:
Wie kann ich zumindest das Problem 1 lösen, so dass der Add-In immer geladen wird, egal wie Excel gestartet wird.
Hier der benötigte Code, um das Ganze nachzubilden:
Code in Modul1
---------------
Option Explicit
Public appExcel As New clsExcelAppEvents
Public Sub Auto_Open()
MsgBox "Auto_Open"
Set appExcel.ExcelApp = Application
End Sub
Code in Klassenmodul clsExcelAppEvents (Wichtig: Der Name des Klassenmoduls muss so lauten)
----------------------------------------------------
Option Explicit
Public WithEvents ExcelApp As Excel.Application
Private Sub ExcelApp_NewWorkbook(ByVal Wb As Workbook)
MsgBox "NewWorkbook: " & Wb.Name
End Sub
Private Sub ExcelApp_WorkbookOpen(ByVal Wb As Workbook)
MsgBox "WorkbookOpen: " & Wb.Name
End Sub
Bin dankbar für jede kompetente Antwortlittletramp.ch