Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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

Absturz Excel bei Ribbon-Aktualisierung

Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 10:18:12
math
Hallo geschätztes Excel-Forum,
ich habe mir für eine Reihe von Excel-Dateien ein eigenes Ribbon gebastelt. Das Ribbon ist in einem AddIn (.xlam) gespeichert und die entsprechenden Tabs des Ribbons werden je nach Datei über gobjribbon.Invalidate und GetVisible eingeblendet (analog wie im großartigen RibbonX-Workshop von René beschrieben). Das funktioniert bei mir lokal ohne Probleme.
Sobald eine Excel-Datei, die über gobjribbon.Invalidate das entsprechende Tab einblenden soll, in einem Netzwerkordner liegt und von dort geöffnet wird, bricht der Code bei gobjribbon.Invalidate mit Laufzeitfehler 91 ab. Ich habe festgestellt, dass das gobjribbon Objekt leer (also Nothing) ist.
Daraufhin bin ich der Anleitung im Workshop von René "IRibbonUI - Objekt wiederherstellen" gefolgt, in dem ein Zeiger auf das Ribbon als Name in der Excel-Datei (bei mir im AddIn) gespeichert wird und wenn gobjRibbon Nothing ist aus dem Namen wieder gesetzt wird: funktioniert bei mir lokal. Liegt die gleiche Datei im Netzwerk kommt es zum Komplettabsturz von Excel bei CopyMemory.
Ähnliches Verhalten wurde in einem älteren Forumsbeitrag beschrieben:
https://www.herber.de/forum/archiv/1356to1360/1359998_ExcelAbsturz_bei_RibbonAktualisierung.html#1360003
Hat vielleicht jemand eine Idee oder einen Ansatz zur Lösungsfindung?
Danke und viele Grüße
Sönke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 10:40:52
mumpel
Hallo!
Netzlaufwerke haben so ihre Eigenart, vor allem wenn mehrere Anwender gleichzeitig auf das Add-In zugreifen. Versuche mal das Objekt in der Registrierungsdatenbank abzulegen anstatt in der Datei. Add-Ins nach Möglichkeit nicht zur Laufzeit verändern, denn das Ergebnis ist ungewiss.
Vielleicht wäre es besser wenn Du das Add-In per XCopy (oder mit einem anderen Kopierprogramm) auf die Rechner verteilen und per Gruppenrichtlinie in Excel einbinden würdest (Excel sollte dabei geschlossen sein).
Gruß, René

AW: Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 13:57:14
math
Hallo René, hallo Luschi,
vielen Dank für die Antworten.
Das AddIn wird über GPO an die Anwender verteilt und liegt lokal im jeweiligen User-Verzeichnis - das scheint m.E. nicht das Problem zu sein.
Das beschriebene Problem tritt auf, wenn eine meiner Excel-Vorlage (nenne ich jetzt mal so, auch wenn es keine .xltm sondern eine .xlsm ist), die "ihren" entsprechenden Tab aus dem Ribbon einblenden soll, in einem Netzwerkordner liegt (also nicht das AddIn) und von dort geöffnet wird (wird über das Workbook_Open angestossen). Das gobjRibbon Objekt scheint in dem Fall einfach nicht gesetzt zu werden.
Mir ist jetzt dazu noch etwas aufgefallen:
Wird die "Excel-Vorlage" von lokal geöffnet, wird die orange-farbene Sicherheitswarnung für Makros "Inhalt aktivieren" angezeigt. Aktiviere ich dies, funktioniert alles wie gewollt.
Beim Starten gleicher Datei aus einem Netzlaufwerk erscheint diese Abfrage NICHT und das beschriebene Problem tritt auf. Dass die Sicherheitswarnung nicht erscheint, könnte damit zusammenhängen, dass (ebenfalls über GPO) in den Excel-Optionen die Netzwerkpfade als "Vertrauenswürdige Speicherorte" eingetragen sind und daher eine Datei mit Makros ohne Sicherheitshinweis geöffnet wird.
Weitere Beobachtung: Ist bereits irgendeine Excel-Datei (oder eine leere Arbeitsmappe) geöffnet, und ich öffne dazu eine meiner "Excel-Vorlagen" läuft es problemlos - auch bei einer aus dem Netzwerk geöffneten Datei...
Kann es sein, dass das AddIn noch nicht vollständig geladen ist, wenn keine Sicherheitsabfrage erfolgt bzw. noch keine Excel-Instanz geöffnet ist und das gobjribbon Objekt deshalb noch nicht gesetzt ist?
Komplizierte Kiste...
Ideen, in welche Richtung ich weiter ermitteln kann, sind willkommen!
Sönke

Anzeige
AW: Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 17:13:21
math
Hallo zusammen,
vielleicht interessiert's den einen oder anderen:
Das Problem schien tatsächlich damit zusammenzuhängen, dass beim Öffnen der Datei aus einem "Vertrauenswürdigen Speicherort" die Prozedur im Workbook_Open zum Einblenden des Tabs im Ribbon sofort gestartet wird. Das AddIn ist dann offenbar noch nicht vollständig geladen und somit ist das gobjribbon Objekt noch nicht gesetzt.
Ich habe nun eine Pause von 1 Sekunde in das Workbook_Open eingebaut und nun funktioniert alles wie gewollt (bis jetzt zumindest).
Viele Grüße
Sönke

Anzeige
AW: Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 17:35:27
mumpel
Zuerst wird das Workbook_Open-Ereignis abgearbeitet, dann erst das Menüband geladen. Im Workbook_Open-Ereignis solltest Du daher If Not objRibbon Is Nothing Then... nutzen. Oder auf das Aktualisieren des Ribbon schon beim Öffnen der Datei verzichten (das Ribbon ist ja noch nicht da, also gibt es auch nichts zu aktualisieren).

AW: Absturz Excel bei Ribbon-Aktualisierung
11.05.2016 17:43:07
math
Ja, so wird's wohl sein.
Ich hatte gedacht, das AddIn (das ja das Menüband enthält) würde vor dem Workbook_Open geladen.
Das If Not objRibbon Is Nothing Then... behalte ich mal im Hinterkopf, falls es Probleme gibt, im Moment scheint es mit der 1s-Pause zu funktionieren.
Danke für den Input!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige