Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1264to1268
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

AddIn Probleme Ladeverhalten und Ereignisse

AddIn Probleme Ladeverhalten und Ereignisse
littletramp
Grüezi mitenand
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 Antwort
littletramp.ch

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

Betreff
Benutzer
Anzeige
AW: AddIn Probleme Ladeverhalten und Ereignisse
14.06.2012 21:38:15
mumpel
Hallo!
Das Add-In nicht in XLSTART ablegen. Stattdessen in einen anderen Ordner verschieben und dann über den Add-In-Manager einbinden. Zu finden im Tab "Entwicklertools".
Gruß, René
AW: AddIn Probleme Ladeverhalten und Ereignisse
14.06.2012 22:39:54
littletramp
Hallo René
Danke, für deine Antwort.
Eigentlich hatte ich dies ja schon versucht (siehe mein Text: 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.), doch hatte es das Problem nicht behoben.
Da ich nicht an meine Unfehlbarkeit glaube, habe ich es auf dein Anraten hin nochmals versucht, und nun klappt es wirklich.
Somit wäre Problem 1 gelöst.
Problem 2 kann ich notfalls mit einem Workaround lösen. (Festlegen eines Namens in der Vorlage, den ich beim Erzeugen im falschen Open-Ereignis auf einen neuen Wert setze oder lösche, womit ich später erkennen kann, ob die Arbeitsmappe neu erzeugt, oder geöffnet wird).
Es würde mich aber doch interessieren, ob dieses Fehl-Verhalten (WorkbookOpen statt NewWorkbook Ereignis) bei anderen ebenfalls auftritt, oder es gar behoben werden kann.
Nochmals vielen Danke für deine Antwort
littletramp.ch
Anzeige
AW: AddIn Probleme Ladeverhalten und Ereignisse
14.06.2012 23:12:28
mumpel
Nutze doch "App_WorkbookActivate" anstelle von Open oder New. Falls es Dir hilft.
AW: AddIn Probleme Ladeverhalten und Ereignisse
15.06.2012 16:12:55
littletramp
Hallo René
Da WorkbookOpen auch beim Erzeugen gefeuert wird, genügt mir das. Bei WorkbookActivate müsste ich jedes mal zusätzlich überprüfen ob die Arbeitsmappe gerade erzeugt resp. geöffnet wurde, da dieses Ereignis bei jedem Aktivieren erneut gefeuert wird.
Gruss littletramp.ch

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige