RibbonX-Workshop - RibbonX in Project

In diesem Teil wollen wir lernen wie man in MS-Project einer Datei ein Menüband mit Schaltflächen erstellt. Anders als in Excel & Co. arbeitet man in Project nicht mit dem RibbonX-Objekt, sondern mit dem MSO-Objekt wie es schon in "RibbonX-Workshop - Individuelles Menüband" Anwendung findet. Hinweis: Leider können in MS-Project nur einfache Schaltflächen genutzt werden.

Öffnen Sie die gewünschte Datei. Wechseln Sie mit Alt+F11 in den VBA-Editor. In "ThisProject" fügen Sie den folgenden Code ein.
Option Explicit
Private Sub Project_BeforeClose(ByVal pj as Project)
  Call XML_AnpassungZuruecksetzen
End Sub

Private Sub Project_Open(ByVal pj As Project)
  Call XML_AnpassungErstellen
End Sub


Fügen Sie nun ein allgemeines Modul ein. Dorthinein den folgenden Code.
Option Explicit
Public obj_Ribbon As IRibbonUI



Public Sub XML_AnpassungZuruecksetzen()
Dim customUiXml As String
 customUiXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" _
                & "<mso:ribbon></mso:ribbon></mso:customUI>"
ActiveProject.SetCustomUI (customUiXml)
End Sub

Public Sub XML_AnpassungErstellen()
  Dim customUiXml As String

  customUiXml = "<mso:customUI xmlns:x2=""http://schemas.microsoft.com/office/2009/07/customui/macro"" xmlns:x1=""TFCOfficeShim.Connect.15"" xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
                   "<mso:ribbon>" & _
                      "<mso:tabs>" & _
                        "<mso:tab id=""tab0"" label=""Test"">" & _
                            "<mso:group id=""grp0"" label=""Test1""> " & _
                                "<mso:button id=""btn0"" onAction=""onAction_btn0"" />" & _
                                "<mso:button id=""btn1"" onAction=""onAction_btn1"" />" & _
                            "</mso:group>" & _
                            "<mso:group id=""grp1"" label=""Test2""> " & _
                                "<mso:button id=""btn2"" onAction=""onAction_btn2"" />" & _
                                "<mso:button id=""btn3"" onAction=""onAction_btn3"" />" & _
                            "</mso:group>" & _
                        "</mso:tab>" & _
                      "</mso:tabs>" & _
                   "</mso:ribbon>" & _
                "</mso:customUI>"

   ActiveProject.SetCustomUI (customUiXml)
End Sub


Public Sub onAction_btn0()
 MsgBox "Button 1 geklickt", 64, "Hinweis"
End Sub

Public Sub onAction_btn1()
 MsgBox "Button 2 geklickt", 64, "Hinweis"
End Sub

Public Sub onAction_btn2()
 MsgBox "Button 3 geklickt", 64, "Hinweis"
End Sub

Public Sub onAction_btn3()
 MsgBox "Button 4 geklickt", 64, "Hinweis"
End Sub


Speichern Sie die Änderungen und lösen einmal die Prozedur "XML_AnpassungErstellen" aus, das Tab sollte nun im Menüband angezeigt werden.