Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ribbon lässt sich nicht aktualisieren

Ribbon lässt sich nicht aktualisieren
06.05.2014 14:48:40
Hendrik
Hallo zusammen,
hier gibt es zwar schon einen ähnlichen Beitrag, aber ich möchte noch mal mein Problem mit dem Aktualisiren eines Ribbons schildern:
In meinen Addin rufe ich mit
Call refreshRibbon
die Prozedur zur Aktualisierung auf, die wie folgt ausschaut:
Public Sub refreshRibbon()
objRibbon.Invalidate
objRibbon.ActivateTab ("htbTab")
End Sub
In dem gleichen Modul habe ich objRibbon gesetzt:
Public objRibbon As IRibbonUI
Public Sub onload(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub
Und trotzdem (und obwohl ich ein ominöses VBA-Projekt-Kennwort gesetzt habe), bekomme ich bei
Call refreshRibbon
ein Problem: Beim Debuggen sehe ich, dass direkt bei objRibbon.Invalidate in die Fehlerroutine gesprungen wird. :(

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Ribbon lässt sich nicht aktualisieren
06.05.2014 15:14:22
Nepumuk
Hallo,
wird denn der Callback onload überhaupt aufgerufen? Sprich die erste Zeile deines XML-Codes sieht so aus:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onload">
Gruß
Nepumuk

AW: Ribbon lässt sich nicht aktualisieren
06.05.2014 15:26:58
Hendrik
Hallo Nepumuk,
danke für das Feedback. Ja, müsste meiner Meinung nach aufgerufen werden.
Ich hänge die Datei mal an. Sie hat eine Leerstelle als Kennwort. Das soll ja angeblich was bringen...
Würde mich über Hilfe sehr freuen!
https://www.herber.de/bbs/user/90519.xlsm

Anzeige
AW: Ribbon lässt sich nicht aktualisieren
07.05.2014 09:42:06
Nepumuk
Hallo,
wie René kann ich keinen Fehler finden. Was machst du in der Mappe bevor der Fehler auftritt?
Gruß
Nepumuk

AW: Ribbon lässt sich nicht aktualisieren
07.05.2014 10:47:26
Hendrik
Hallo Jungs,
danke für die Hilfe.
Dieses ganze Ribbon-Aktualisierung ist mir zu blöd. Auf manchen Rechner läufts manchmal und manchmal stürzt ganz Excel ab. Ich werde jetzt nur noch Schaltflächen statisch via xmls verwenden und zur Laufzeit keine Aktualisierungen mehr vornehmen. Das ist wirklich widerlich implementiert von MS. Wenn ich da schon "Passwort setzen" lese... ;o)
Grüße
Hendrik

Anzeige
AW: Ribbon lässt sich nicht aktualisieren
07.05.2014 13:34:28
mumpel
Bitte nicht gleich so böse auf Microsoft sein. ;) Manchmal ist auch das System daran schuld. Ich hatte noch nie solche Probleme, bis auf das benahe verpflichtende VBA-Kennwort und Fehlermeldungen bei leeren Office-Programmen (also wenn keine Datei offen ist und das Menüband auf Dateien zugreifen will).

Anzeige
AW: Ribbon lässt sich nicht aktualisieren
06.05.2014 15:59:02
mumpel
Hallo!
Kann ich nicht nachvollziehen. Wenn ich auf "Schadeninfo" klicke wird ein Menü erstellt/angezeigt. Passt bei Dir etwas mit den Verweisen nicht? Bitte prüfen.
Gruß, René
;
Anzeige
Anzeige

Infobox / Tutorial

Ribbon aktualisieren in Excel: Probleme und Lösungen


Schritt-für-Schritt-Anleitung

Um das Ribbon in Excel korrekt zu aktualisieren, befolge diese Schritte:

  1. Setze das Ribbon korrekt auf: Stelle sicher, dass die onload-Prozedur richtig definiert ist, um das objRibbon-Objekt zu setzen.

    Public Sub onload(ribbon As IRibbonUI)
       Set objRibbon = ribbon
    End Sub
  2. Implementiere die Aktualisierungsprozedur: Achte darauf, dass die Funktion refreshRibbon wie folgt aussieht:

    Public Sub refreshRibbon()
       objRibbon.Invalidate
       objRibbon.ActivateTab ("htbTab")
    End Sub
  3. Überprüfe das XML: Stelle sicher, dass der XML-Code, der das Ribbon definiert, den onLoad-Callback korrekt angibt:

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onload">
  4. Fehlerbehebung: Wenn der Fehler auftritt, überprüfe die Debugging-Informationen und stelle sicher, dass objRibbon vor dem Aufruf von refreshRibbon gesetzt wurde.


Häufige Fehler und Lösungen

  • Fehler: objRibbon.Invalidate springt in die Fehlerroutine
    Lösung: Überprüfe, ob die onload-Prozedur tatsächlich aufgerufen wird. Wenn nicht, könnte der XML-Code fehlerhaft sein.

  • Problem mit dem Kennwort
    Lösung: Stelle sicher, dass das VBA-Projekt-Kennwort korrekt gesetzt ist. Ein leeres Kennwort kann manchmal zu unerwarteten Verhaltensweisen führen.

  • Excel stürzt ab
    Lösung: Teste die Anwendung auf verschiedenen Rechnern oder installiere Updates für Excel, um Systemprobleme auszuschließen.


Alternative Methoden

Falls die oben genannten Methoden nicht funktionieren, kannst du folgende Alternativen ausprobieren:

  • Verwendung von statischen Schaltflächen: Statt dynamisch das Ribbon zu aktualisieren, setze statische Schaltflächen in deinem XML, um die Benutzeroberfläche stabil zu halten.

  • Direkte VBA-Makros: Erstelle Makros, die die gewünschten Funktionen direkt ausführen, ohne eine Aktualisierung des Ribbons vornehmen zu müssen.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du ein Ribbon aktualisieren kannst:

  1. Definiere dein Ribbon in XML:

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onload">
       <ribbon>
           <tabs>
               <tab id="htbTab" label="Meine Registerkarte">
                   <group id="htbGroup" label="Aktionen">
                       <button id="btnRefresh" label="Aktualisieren" onAction="refreshRibbon"/>
                   </group>
               </tab>
           </tabs>
       </ribbon>
    </customUI>
  2. Rufe die Aktualisierungsprozedur auf: Wenn der Button gedrückt wird, wird die refreshRibbon-Prozedur aufgerufen, um das Ribbon zu aktualisieren.


Tipps für Profis

  • Debugging: Verwende Debugging-Tools, um herauszufinden, an welcher Stelle der Fehler auftritt. Setze Haltepunkte und analysiere die Variablen.

  • Verweise überprüfen: Stelle sicher, dass alle Verweise in deinem VBA-Projekt korrekt gesetzt sind, um Probleme mit der Ribbon-Aktualisierung zu vermeiden.

  • Kennwortsicherheit: Bedenke, dass ein starkes Kennwort in deinem VBA-Projekt die Sicherheit erhöht, aber auch zu Problemen führen kann, wenn es nicht korrekt eingegeben wird.


FAQ: Häufige Fragen

1. Warum wird die onload-Prozedur nicht aufgerufen?
Mögliche Ursachen sind ein Fehler im XML-Code oder ein Problem mit der Excel-Installation. Überprüfe, ob die XML-Syntax korrekt ist.

2. Wie kann ich die Stabilität meiner Ribbon-Anpassungen erhöhen?
Verwende statische Schaltflächen und reduziere die Anzahl der dynamischen Aktualisierungen, um die Leistung zu verbessern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige