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

dynamisches Ribbon - onLoad Problem

dynamisches Ribbon - onLoad Problem
04.07.2018 21:27:31
Jan
Hallo liebe VBA-Gemeinde,
da ist man doch eigentlich schon mit allem fertig, und dann ärgert Excel einen doch noch hintenrum: Mein Excel-Dokument verfügt über ein eigenes Ribbon, das zum Zwecke einer dynamischen Aktualisierung (je nach gewähltem Tabellenbltatt und Zelle sind Funktionen ausgegraut oder nicht sichtbar) über das onLoad Ereignis verfügt.
Der XML-Kopf (mit Custom UI Editor erstellt) sieht so aus:
customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad ="onLoad_X1"
In einem Standardmodul befindet sich dann der entsprechende Set-Befehl:
Public Sub onLoad_X1(Ribbon As IRibbonUI)
Set objRibbon = Ribbon
CurrentItemID = ""
End Sub
Soweit funktioniert das auch super. Mehr zufällig habe ich jetzt aber festgestellt, dass es zum Fehler kommt, wenn beim Öffnen der mit Ribbon versehenen Mappe bereits eine andere Excel-Mappe geöffnet ist. Dann meldet sich Excel gleich mit:
Das Makro "onLoad_X1" kann nicht ausgeführt werden.
Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar,
oder alle Makros wurden deaktiviert.
Ich bin ratlos, was ich mit dieser Meldung anfangen soll. Was macht Excel hier? Wird versucht, das Ribbon auch auf die bereits geöffnete Mappe anzuwenden (das natürlich nicht über das obige Makro onLoad_X1 verfügt). Das wäre doch ein sinnloses Verhalten.
Über einen Experten-Tipp würde ich mich sehr freuen.
Viele Grüße, Jan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamisches Ribbon - onLoad Problem
05.07.2018 07:36:29
mumpel
Hallo!
Die Prozeduren für das onLoad-Ereignis sollten in jeder Datei einen eigenen Namen haben. In jeder Mappe den selben Prozedurennamen führt erfahrungsgemäß zum genannten Fehler.
Gruß, René
AW: dynamisches Ribbon - onLoad Problem
05.07.2018 10:46:42
PeterK
Hallo
Es liegt daran, das Excel ja bereits läüft und dein File zur laufenden Instance hinzugefügt wird. Es gibt zwei Möglichkeiten:
1) Du gibst eine Fehlermeldung aus und bittest den Benutzer Excel zu schliessen
2) Du restartest Dich in eine neue Instance

Private Sub Workbook_Open()
Dim oXL As Excel.Application
If Workbooks.Count > 1 Then
MsgBox "I want to be alone!  Re-opening myself in a new copy of Excel"
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
oXL.Workbooks.Open ThisWorkbook.FullName, ReadOnly:=False
AppActivate oXL.Caption
ThisWorkbook.Close False
End If
End Sub

Anzeige

6 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige