[VBA] Ribbontab aktivieren

Knufu

Lieutenant
Registriert
Dez. 2011
Beiträge
592
Frohe Weihnachten Euch.

Ich brauche mal einen Denkanstoß zu folgendem Szenario. (welches sicher so auch in Word funktionieren kann)

Ich habe in meinem Autostart Ordner von Excel eine Datei, die ein custom Tab mit einigen Funktionen erzeugt.
Des Weiteren habe ich eine Vorlage. Beim Start fügt diese Vorlage weitere Buttons in den Tab der Startdatei ein. Das klappt alles prima.

Was mit jetzt noch fehlt ist die automatische Aktivierung dieses Tabs der Startdatei...

Danke für eure Hilfe
Ralph
 
Falls du direkt die Entwickleroptionen meinst, diese kannst du in den Optionen aktivieren, alternativ geht auch die Kombi "ALT + F11".
 
Nein ich meine den Tab der durch die Startdatei erzeugt wird.
Das heißt ich werde etwas in der XML anpassen müssen und noch etwas VBA Code schreiben.. Aber hier fehlt mir der Ansatz.
 
nkler schrieb:
Automatisches ausführen ist nicht das Problem 😉
Ergänzung ()

aroxx schrieb:
Danke für den link. Den hatte ich auch schon gesehen. Leider endet das Öffnen mit einem Fehler. Aber da ich derzeit nicht im Rechner bin werde ich das nochmal versuchen.
 
Knufu schrieb:
Danke für den link. Den hatte ich auch schon gesehen. Leider endet das Öffnen mit einem Fehler. Aber da ich derzeit nicht im Rechner bin werde ich das nochmal versuchen.

D.h. du hast versucht die Lösung umzusetzen, aber es gibt einen Fehler? Was steht denn im Fehlertext?
 
Richtig.
Aber wie gesagt bin ich im m moment nicht am PC. Ich melde mich wenn ich es wieder versucht habe.
Wollte hier mal hören ob jmd eine andere Lösung kennt.
Danke erstmal
 
back to work

so. Ich habe mir nochmal deinen Link angesehen und die Variante unter Post 4 getestet.

XML-Part:
Code:
<customUI onLoad="RibbonOnLoad" ....>

VBA-Part in einem separaten Modul:
Code:
Public Rib As IRibbonUI

Sub RibbonOnLoad(ribbon As IRibbonUI)
   Set Rib = ribbon
   Rib.ActivateTab "Test"
End Sub

Auch wenn ich interne, d.h. vorhandene Tabs anwählen möchte (insert, view etc.) passiert beim Öffnen der Datei nichts. Es kommen auch keine Fehler.
 
Das passt auch so. Für integrierte Tabs müsste es dann TabMso sein, aber das Prinzip bleibt.
Bei stackoverflow meinte einer seine Implementierung scheitert erst bei 2019, vorher gings.
Grad im Test per direktem Button wirft´s auch einen Fehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument. Die Invalidate Methoden funktionieren aber. In der VSTO Hilfe zum Objektmodell stehts auch so drin.
 
Ich mal genauer geschaut was passiert.
Das Objekt "ribbon" (As IRibbonUI) ist leer. Es wird also noch gar nichts übergeben...:confused_alt:

Edit:
Jetzt funktioniert es.
Da ich einen benutzerdefinierten Tab in einer anderen Datei aktivieren möchte, brauche ich auch ".ActivateTabQ" und den "vollqualifizierten Namen der Registerkarte, die die ID und den Namespace der Registerkarte enthält."
 
Zuletzt bearbeitet:
Zurück
Oben