RibbonExtensibility: die nicht so offensichtliche Seite - Office Development is more than VBA - Site Home - MSDN Blogs

RibbonExtensibility: die nicht so offensichtliche Seite

RibbonExtensibility: die nicht so offensichtliche Seite

  • Comments 2

Nachdem ich in zwei vorangegangenen Posts (Teil 1 und Teil 2) darüber geschrieben habe, wie man Ribbons von Office 2007 mit Hilfe von VSTO 2005 SE anpassen kann, will ich hier noch auf ein paar weitere Aspekte der Ribbon-Erweiterung eingehen. Office 2007 hat bekanntlich immer noch ein Menü, nämlich das Office-Menü und auch eine Toolbar, die Quick Access Toolbar. Kann man die auch anpassen? Und wie steht es um die neuen Features, die Tools und Funktionen kontextabhängig dem Anwender zur Verfügung stellen? Die Antwort ist ja, ja und ja. Sowohl das Office-Menü als auch die Quick Access Toolbar und die kontextsensitiven Tabs können angepaßt werden. Wie? Das zeige ich hier:

 Anpassen des Office-Menüs:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">

  <ribbon>

    <officeMenu>

      <button id="btnMyOfficeButton"

          label="MyOfficeButton"

          screentip="My Office Button"

          imageMso="HappyFace"

          insertAfterMso="FileSaveAsMenu"

          onAction="OnMyOfficeButtonAction"/>

    </officeMenu>  

  </ribbon>

</customUI>

Hier wird auf <ribbon> - Ebene begonnen, außerhalb der <tabs>.

Anpassen eines kontextsensitiven Tabs (hier der Tab zur Bearbeitung von Bildern): 

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">

  <ribbon>

    <contextualTabs>

      <tabSet idMso="TabSetPictureTools">

        <tab id="MyContextTab" label="My contextual Picture Tab">

          <group id="...  >

 

          </group>

        </tab>

      </tabSet>

    </contextualTabs>
  </
ribbon>
</
customUI>

Beachtet werden sollte hier, das die Anpassung außerhalb der Tab-Sektion beginnt, indem ein <contextualTabs> Element und darunter ein <tabSet> - Element eingefügt wird, welches nun die Kollektion von Tabs bezeichnet, in die wir uns reinhängen wollen (hier "TabSetPictureTools").

Und zu guter Letzt noch eigene Control in die Quick Access Toolbar:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">

  <ribbon startFromScratch="true">

    <qat>

      <sharedControls>

        <button id="btnQAT"

                label="My QAT Button"

                imageMso="HappyFace"

                onAction="OnQATButtonAction"/>

      </sharedControls>

    </qat>

  </ribbon>

</customUI>

Auch hier wird wieder auf <ribbon> - Ebene begonnen, ähnlich wie beim <controls> - Abschnitt zum Steuern des Command Repurposing. Achtung: Das Anpassen der Quick Access Toolbar ist nur möglich, wenn das StartFromScratch-Attribut auf True gesetzt wird, also das User Interface der Host-Anwendung abgeschalten wird.

Übrigens, bei dokumentzentrischen Ribbon-Erweiterungen (customUI in der Datei, Action Handler in VBA) funktioniert das nicht so ganz. Dann muß nämlich statt <sharedControls> <documentControls> verwendet verden.

Die ControlIDs der verwendeten TabSets, Tabs, Groups, etc. - also die im RibbonX zu verwendenden Namen - sind übrigens hier zu finden.

 

  • Gute Infos findet man hier! Vielen Dank dafuer.

    Die Designguidelines habe ich mir zum Teil schon durchgelesen. Was mir ein Raetsel bleibt ist wo man die Office 2007 icons runterladen kann.

    Immerhin wird in den guidelines auch eine Web Applikation gezeigt und die hat ja nicht unbedingt Zugang zu Office auf dem Server.

    - Stefan

  • Hi,

    kann man auch das Textformatierungsmenü ändern, dass man beim markieren von Text angezeigt bekommt?

    Wird es irgendwann eine einfacher Lösung zu ergänzen von Ribbons geben (so wie in den alten Office-Versionen)?

    Danke

    Frank J.

Page 1 of 1 (2 items)