[VBA] Per Makro ein Button auf einem PowerPoint Ribbon ausführen

Dr. Wuah

Lt. Commander
Registriert
Mai 2005
Beiträge
1.277
Hallo zusammen,

ich aktualisiere gerade ein Makro. Bisher habe ich im Code einen Button auf dem Menüband in PowerPoint 2007 mit der Zeile

CommandBars("Name").Controls.Item(1).Execute

ausgeführt. In PowerPoint 2013 geht das aber nicht mehr. Ich hab jetzt echt schon viel rum gesucht, aber leider finde ich keine passende Lösung.

Weiß hier jemand, wie ich per VBA Code einen Button auf dem Ribbon ausführen kann?
 
Danke für deine Antwort!

Leider funktioniert diese Idee nicht, da es bei mir um einen custom tab (durch ein Add-In) geht. Also einer Ebene mit "Datei" / "Start" / "Einfügen" kommt irgendwann "ADDIN-MENU". Auf diesem Menüband gibt es jetzt verschiedene Buttons, die ich gerne ansprechen würde. Da die allerdings nicht built-in sind, gibt es logischerweise auch keine voredefinierte ID, auf die ich zugreifen könnte....

Noch eine Idee?
 
Wenn ich mir die MSDN-Seite anschaue, dann kommt da:
For programs that use the legacy (menu and toolbar) interface, you can write some VBA to create a list for yourself, or just use one line in the Immediate Window when searching for a specific ID. For example, in Microsoft Office Visio Professional 2007, the fifth control on the menu bar is the Format menu; the sixth control on the Format menu is the Theme command that opens the Theme task pane. To find the ID for the Theme command, use the following statement in the Immediate Window:

?Application.CommandBars("Menu Bar").Controls(5).Controls(6).ID


If you want to confirm that you have the correct control, replace ID in the preceding statement with Caption to see the UI name for the control.
Funktioniert das bei dieser "Legacy-App" nicht?
 
Was ist das denn für ein Button? Hast du den selber mit dem CustomUiEditor angelegt oder kommt der von wem ganz anders und du kannst den nicht mehr anpassen?
 
Mit

Application.CommandBars("Menu Bar").Controls(5).Controls(6).ID

habe ich das bei Office 2007 auch gemacht, und da hat das auch funktioniert. Bei Office 2013 scheint es aber nicht mehr zu klappen. Das Bsp. mit der "Menu Bar" funktioniert, aber andere Menüs kann ich nicht aufrufen.

Der Button kommt nicht von mir. Ich habe ein AddIn installiert, dass einen neuen Ribbon-Reiter in meine PowerPoint Oberfläche integriert hat. Davon will ich Funktionen (die normalerweise bei Klick auf einen Button durchgeführt werden) per Makro aufrufen. Leider geht das auch nicht. Es gibt entsprechende Befehle:

CommandBars.FindControl(Id:=ID).Execute oder Application.CommandBars.ExecuteMso(“Copy”)

Aber das Problem ist, dass ich die entsprechende ID nicht weiß und keine Möglichkeit sehe, diese herauszufinden. In alten Versionen (2007) konnte man einfach zum entsprechenden Reiter und im Zweifel durch alle Schaltflächen durchloopen, bis der richtige dabei war. Es scheint mir, als gäbe es diese Möglichkeit nicht mehr.
 
Zurück
Oben