Einführung in die Office 2010-Backstage-Ansicht für Entwickler

Office 2010

Zusammenfassung: Microsoft Office 2010 führt die Microsoft Office-Backstage-Ansicht ein, die neueste Innovation in der Office Fluent-Benutzeroberfläche. Sie stellt ein ergänzendes Feature zum Menüband dar. Lernen Sie die Komponenten der Backstage-Ansicht kennen und erfahren Sie mehr dazu, wie Sie die Backstage-Ansicht in verschiedenen Office-Anwendungen erweitern können.

Einführung in die Microsoft Office 2010 Fluent-Backstage-Ansicht

In der 2007-Version von Microsoft Office System kann auf Funktionen auf Dateiebene über das Office-Menü zugegriffen werden, das durch Klicken auf die Office-Schaltfläche verfügbar ist.

In Microsoft Office 2010 wird die Office-Schaltfläche ersetzt durch eine Registerkarte Datei. Wenn Sie auf die Registerkarte Datei klicken, wird die Microsoft Office-Backstage-Ansicht geöffnet. In der Backstage-Ansicht können Sie die Features entdecken und verwenden, die außerhalb der Dokumenterstellungsfeatures des Menübands liegen. Menüband, Minisymbolleiste und Kataloge unterstützen Sie beim Arbeiten in Ihren Dokumenten. Die Backstage-Ansicht unterstützt Sie beim Arbeiten mit Ihren Dokumenten.

Die Backstage-Ansicht kann von Entwicklern vollständig erweitert werden, sodass Organisationen die Benutzeroberfläche (User Interface, UI) auf ihre Bedürfnisse anpassen können. Der größte Vorteil besteht jedoch darin, dass die Backstage-Benutzeroberfläche mit denselben Dateien, Rückrufen und zahlreichen Steuerelementen des Menübands angepasst werden kann. Dies bedeutet, dass die Entwickler, die bereits mit der Anpassung der Benutzeroberfläche des Menübands vertraut sind, mit diesen Kenntnissen auch eine Backstage-Benutzeroberfläche erstellen können, die den Bedürfnissen in der Organisation entsprechen.

Die Backstage-Benutzeroberfläche ist in allen Microsoft Office 2010-Anwendungen vorhanden, die die Office Fluent-Benutzeroberfläche unterstützen: Microsoft Access 2010, Microsoft Excel 2010, Microsoft InfoPath 2010, Microsoft OneNote 2010, Microsoft PowerPoint 2010, Microsoft Project 2010, Microsoft Publisher 2010, Microsoft SharePoint Designer 2010, Microsoft Visio 2010 und Microsoft Word 2010. In den folgenden Abschnitten wird die Struktur der neuen Benutzeroberfläche erläutert, und es werden die zur Implementierung einer eigenen benutzerdefinierten Backstage-Benutzeroberfläche erforderlichen Informationen vorgestellt.

Glossar der Begriffe der Backstage-Ansicht

Es folgt eine Liste der in diesem Artikel häufig verwendeten Begriffe:

  • Backstage-Ansicht Ein Vollbild-Benutzeroberflächenmodell, das Funktionen auf fünf Ebenen für das aktive Dokument offen legt. Die Backstage-Ansicht ist Teil der Microsoft Office Fluent-Benutzeroberfläche, die das vorherige System der in Ebenen aufgebauten Menüs, Symbolleisten und Aufgabenbereiche ersetzt.

  • Definitiver Befehl Ein Befehl, mit dem Sie von der Backstage-Ansicht zurück zum Dokument geführt werden. Beim Aufrufen von definitiven Befehlen wird die Backstage-Ansicht geschlossen. Einige Beispiele für diese Befehle sind Speichern, Speichern unter und Drucken.

  • Schnellbefehl Ein Befehl auf der linken Navigationsleiste, der Schnellzugriff auf häufig verwendete Funktionen bereitstellt. Einige Beispiele für diese Befehle sind Speichern, Speichern unter und Schließen.

  • Registerkarte Eine Seite innerhalb der Backstage-Ansicht, die eine bestimmte Aufgabe abdeckt. Die Backstage-Ansicht enthält eine Gruppe von Registerkarten auf oberster Ebene. Die erste Registerkarte (ganz oben) ist die Standardregisterkarte. Falls keine Position angegeben ist, werden benutzerdefinierte Registerkarte ganz unten auf der Navigationsleiste hinzugefügt, unterhalb aller vorhandenen Registerkarten und Schnellbefehlen. In der Backstage-Ansicht sind maximal 255 Registerkarten zulässig.

  • Gruppe Ein Benutzeroberflächencontainer, der zum Strukturieren verwandter Funktionen innerhalb der Backstage-Registerkarten nach Gruppen verwendet wird.

Komponenten der Backstage-Ansicht

In diesem Abschnitt lernen Sie die Komponenten der Backstage-Ansicht kennen. Beim Betrachten von Abbildung 1 fällt beim Starten einer Office 2010-Anwendung als Erstes die neue Registerkarte Datei auf, durch die die Office-Schaltfläche ersetzt wurde. Wenn Sie auf die Registerkarte Datei klicken, wird die Backstage-Ansicht angezeigt. Sie können die Backstage-Ansicht auch öffnen, indem Sie ALT+Y drücken.

Abbildung 1. Die neue Registerkarte "Datei"

Microsoft Office-Schaltfläche

Auf der linken Seite der Backstage-Ansicht befindet sich die Navigationsleiste mit den Schnellbefehlen (z. B. Speichern und Öffnen) und den Registerkarten (z. B. Info und Zuletzt verwendet), wie in Abbildung 2 dargestellt.

Abbildung 2. Die Backstage-Ansicht

Navigationsregisterkarten

Über Schnellbefehle kann auf häufig verwendete Aufgaben zugegriffen werden, die nicht explizit einer Registerkarte zugeordnet sind.

Auf einer Registerkarte werden Funktionen gruppiert, die zu einer häufig verwendeten Aufgabe zählen, und diese Funktionen werden auf eine oder zwei Spalten in mehreren Gruppen verteilt (wie Kompatibilitätsmodus und Berechtigungen).

Erweiterbarkeit der Backstage-Ansicht

Mit der Backstage-Ansicht wird nicht nur mehr Benutzerfreundlichkeit im Bereich der Dokumenteigenschaften, Erstellungs- und Ausgabefunktionen bereitgestellt, sie bietet für IT-Abteilungen und Entwickler von Drittanbietern auch die Möglichkeit, eine Verbindung mit benutzerdefinierten Dokumentverwaltungsfunktionen bereitzustellen. Für die Erweiterbarkeit der Backstage-Ansicht können einige typische Szenarien aufgeführt werden:

  • Ein Lösungsanbieter möchte der Backstage-Ansicht Branchendaten hinzufügen:

    • Der Lösungsanbieter möchte unter Umständen eine völlig neue Registerkarte erstellen, um zahlreiche Informationen zur aktiven Datei bereitzustellen.

    • Der Lösungsanbieter möchte vielleicht einer vorhandenen Registerkarte (besonders der Registerkarte Info) eine Gruppe hinzufügen, sodass die Informationen gut hervorgehoben sind.

  • Ein Lösungsanbieter möchte vielleicht neue Funktionen in der Backstage-Ansicht anzeigen:

    • Der Lösungsanbieter möchte unter Umständen eine neue Registerkarte für eine benutzerdefinierte Funktionalität erstellen (z. B. für die Verwaltung von Junk-E-Mail).

    • Der Lösungsanbieter möchte möglicherweise einer vorhandenen Registerkarte eine benutzerdefinierte Funktionalität hinzufügen, da diese Registerkarte ein logischer Startpunkt für das neue Feature ist. Oder sie soll als Schnellbefehl verwendet werden, da die betreffende Funktionalität häufig verwendet wird und mit einer einzelnen Schaltfläche dargestellt werden kann.

Entwickler, die mit der Erweiterbarkeit der Menübandbenutzeroberfläche vertraut sind, werden auch mit der Erweiterbarkeit der Backstage-Ansicht keine Probleme haben, da zum größten Teil dieselben Dateien und Strukturen verwendet werden. Komponenten werden der Backstage-Ansicht mithilfe von XML hinzugefügt, und die Funktionalität wird diesen Komponenten mithilfe von Rückrufprozeduren zugeordnet.

Hinweis Hinweis

Weitere Informationen zur Erweiterbarkeit des Menübands finden Sie in der dreiteiligen Gruppe von Artikeln unter Customizing the 2007 Office Fluent Ribbon for Developers.

Definieren von benutzerdefiniertem Inhalt für die Backstage-Ansicht und von Strukturen über XML

Wie bei der Benutzeroberfläche des Menübands werden die Struktur und die Komponenten der Backstage-Ansicht mithilfe von XML-Markup definiert. Im folgenden Beispiel wird das allgemeine Format einer XML-Markupdatei gezeigt, mit der die Backstage-Ansicht in Word 2010 angepasst wird. In den folgenden Abschnitten wird das Markup ausführlicher erläutert. Das Ergebnis des Markups ist die in Abbildung 3 gezeigte angepasste Backstage-Ansicht.

Abbildung 3. Die in diesem Beispiel erstellt benutzerdefinierte Registerkarte "Backstage"

Benutzerdefinierter Registerkartenbereich
Hinweis Hinweis

Der zum Ändern der Benutzeroberfläche des Menübands verwendete XML-Code ist ebenfalls eingeschlossen, um zu zeigen, dass er neben dem Markup für die Backstage-Ansicht in derselben XML-Datei vorhanden ist.

<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
  <backstage>    
   <tab id="testArea" insertAfterMso="TabInfo" label="Sample Scenarios" columnWidthPercent="30" >
      <firstColumn>
         <group id="grpOne" label="Group One" helperText="This is helper text for Group One">
            <primaryItem>
               <button id="firstButton" label="Primary Button" onAction="SampleCallback" />
            </primaryItem>
      <topItems>
            <layoutContainer id="layoutOne" layoutChildren="vertical">
               <editBox id="firstEBox" label="Sample Edit Box"  text="This is sample text" alignLabel="topRight" />
               <button id="sampleButton" label="Sample Definitive Button" isDefinitive="true" imageMso="FileDocumentInspect" />
            </layoutContainer>
      </topItems>
         </group>
         <group id="grpTwo" label="Group Two" visible="true" >
             <primaryItem>
                <menu id="menuOne" label="DropDown Menu">
                   <menuGroup id="menuGrpOne" >
                      <button id="btnOne"  label="Button one" />
                      <button id="btnTwo" label="Button two" />
                      <checkBox id="chkBoxOne" label="Sample Check Box" />
                   </menuGroup>
                </menu>
     </primaryItem>
             <topItems>
                <editBox id="secondEBox" text="Disabled Edit Box"  enabled="false"/>
                <imageControl id="imgControlOne" imageMso="BlogHomePage"/>
                <groupBox id="grpBox" label="Group Box with Check Boxes and Radio Group">
                   <checkBox id="chkBox1" label="A Check Box" />
                   <checkBox id="chkBox2" label="Disabled Check Box" enabled="false" />
                   <radioGroup id="rdoGrp" label="Nested Radio Group" >
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                      </radioGroup>
                </groupBox>
             </topItems>
          </group>
      </firstColumn>
      <secondColumn>
         <group id="grpThree" label="Group Three" visible="true">
            <topItems>
               <comboBox id="firstCBox" label="Sample Combo Box" >
                  <item id="itema" label="Cat"/>
                  <item id="itemb" label="Dog"/>
                  <item id="itemc" label="Fish"/>
               </comboBox>
               <layoutContainer id="layoutTwo" layoutChildren="vertical">
                  <editBox id="thirdEBox" label="Part of vertical layout" />
                  <editBox id="fourthEBox" label="Part of vertical layout" />
                  <editBox id="fifthEBox" label="Part of vertical layout" />
               </layoutContainer>
               <layoutContainer id="layoutThree" layoutChildren="horizontal">
                  <button id="anotherButton" label="Horizontal layout" imageMso="NewAppointment" />
                  <hyperlink id="hyperLink" label="You can place a link here"/>
                  <button id="lastButton" label="Horizontal layout" />
               </layoutContainer>
            </topItems>
          </group>
      </secondColumn>
   </tab>
</backstage>

Mit dem <backstage>-Element werden die benutzerdefinierten Strukturen der Backstage-Benutzeroberfläche begrenzt. In der Hierarchie ist das <backstage>-Element eins der vier zulässigen Elemente auf oberster Ebene innerhalb des <customUI>-Elements. Die anderen zulässigen Elemente auf derselben Ebene sind <ribbon>, <contextMenus> und <commands>.

Innerhalb des <backstage>-Elements können Schnellbefehle (dargestellt durch ein <button>-Element) und <tabs> gehostet werden. In diesem Beispiel enthält die Backstage-Ansicht ein einzelnes <tab>-Element. Das <tab>-Element enthält mehrere Attribute wie folgt:

  • id Der Bezeichner der Registerkarte.

  • insertAfterMso Der Bezeichner der integrierten Registerkarte, nach der die benutzerdefinierte Registerkarte eingefügt werden soll. In diesem Beispiel wird die benutzerdefinierte Registerkarte nach der Info-Registerkarte eingefügt.

  • label Der auf der Registerkarte angezeigte Text. In diesem Beispiel lautet die Beschriftung der Registerkarte Sample Scenarios.

  • columnWidthPercent Gibt die Breite der ersten Spalte im Bereich mit den Registerkarten als Prozentwert an. Die Breite der beiden Spalten beträgt zusammen 100 %. Wenn die erste Spalte auf 30 % festgelegt ist, besitzt die zweite Spalte demnach eine Breite von insgesamt 70 %.

Die Registerkarte ist beschriftet und wird hinter der intregierten Info-Registerkarte platziert.

HinweisHinweis

Bei allen Attributen im XML-Anpassungsmarkup für die Microsoft Office Fluent-Benutzeroberfläche wird die Höckerschreibweise verwendet, bei der der erste Buchstabe eines Wortes mit Ausnahme des ersten Worts groß geschrieben wird. Beispiele hierfür sind onAction und insertBeforeMso.

Jedes <tab>-Element kann eine oder zwei Spalten enthalten. In diesem Fall enthält die benutzerdefinierte Sample Scenarios-Registerkarte zwei Spalten. Jede Spalte kann zudem mehrere <group>-Elemente hosten. In diesem Beispiel sind zwei Gruppen in der ersten Spalte vorhanden (sie tragen die Namen Group One und Group Two) und eine einzelne Gruppe (Group Three) in der zweiten Spalte. Das <group>-Element lässt auch mehrere Attribute wie z. B. id, label, visible, enabled und helperText zu, um nur einige zu nennen.

HinweisHinweis

Weiter hinten in diesem Artikel finden Sie eine Liste der Steuerelemente, zugeordneten Attribute und untergeordneten Elemente sowie weitere Informationen.

Benutzerdefinierte Backstage-Gruppen sind vom Konzept her den Gruppen des Menübands sehr ähnlich, es bestehen jedoch zwei wichtige Unterschiede. Erstens: Anders als bei einer Gruppe des Menübands muss der Inhalt einer Backstage-Gruppe nicht exakt in bis zu drei Zeilen positioniert sein. In diesem Beispiel sind mehrere verschiedene <layoutContainer>-Elemente vorhanden, die eine Struktur und umfassende Layoutmöglichkeiten ohne die Begrenzung auf drei Zeilen bieten. Dieses Element enthält ein layoutChildren-Attribut, mit dem Sie angeben können, ob die darin enthaltenen untergeordneten Objekte horizontal oder vertikal ausgerichtet sind. Zweitens: Anders als bei einer Gruppe des Menübands kann eine Backstage-Gruppe ein optionales <primaryItem>-Element enthalten, das entweder ein <button>- oder ein <menu>-Element ist. Das <primaryItem>-Element stellt den zentralen Punkt für eine Gruppe dar, bei der es sich um eine Schaltfläche (wie die primäre Schaltfläche innerhalb von Group One) oder um ein Menü (wie das Dropdownmenü innerhalb von Group Two) handeln kann.

Beim Betrachten des <button>-Elements in dem Beispiel fällt auf, dass eins der Attribute isDefinitive lautet. Wenn dieses Attribut auf True festgelegt wird, wird beim Klicken auf diese Schaltfläche die Rückrufprozedur ausgelöst und die Backstage-Ansicht geschlossen, wobei Sie zurück zum Dokument geführt werden. Ein Blick auf den restlichen XML-Code zeigt, dass mehrere Komponenten mit verschiedenen Attributen definiert sind. Die daraus entstehende benutzerdefinierte Registerkarte ist in Abbildung 3 dargestellt.

Verwenden von Rückrufprozeduren zum Hinzufügen von Funktionalität

Wenden wir uns wieder dem Beispiel zu. Wenn Sie auf die Schaltfläche klicken, wird die Rückrufsubroutine ausgelöst, auf die im onAction-Attribut gezeigt wird. Im folgenden Beispiel wird ein einfacher Rückruf gezeigt, der von der Schaltfläche ausgelöst werden könnte.

Sub SampleCallback(ByVal control As IRibbonControl)
   MsgBox "You clicked the " & control.Id & " button. "
End Sub

Wenn die Prozedur in diesem Beispiel aufgerufen wird, wird von Microsoft Office ein IRibbonControl-Objekt übergeben, das das aufrufende Steuerelement darstellt. Zu den Eigenschaften des IRibbonControl-Objekts zählen Id und Tag. Wie im Code gezeigt können Sie mit der Id-Eigenschaft dieselbe Prozedur von verschiedenen Steuerelementen aufrufen. Alle Rückrufprozeduren besitzen das IRibbonControl-Objekt und können auch andere Eigenschaften enthalten wie z. B. den gedrückten Status einer Umschaltfläche.

In den folgenden Abschnitten werden die Schritte gezeigt, die zum Anpassen der Backstage-Ansicht auf Dokumentebene durch Ändern einer Open XML-Formatdatei und auf Anwendungsebene durch ein COM-Add-In erforderlich sind, das in verwaltetem Code in Microsoft Visual Studio erstellt wurde. Für die Prozedur zum Anpassen der Backstage-Ansicht auf Dokumentebene können Sie den im vorherigen Abschnitt beschriebenen XML-Code verwenden. Vom COM-Add-In wird anderer XML-Code verwendet, um die Backstage-Ansicht zu ändern.

Anpassen der Backstage-Benutzeroberfläche mithilfe von Open XML-Dateien

Auf Dokumentebene umfasst das Anpassen der Microsoft Office Fluent-Benutzeroberfläche mithilfe von XML-Markup die folgenden Schritte. Sie können diese Schritte ausführen, indem Sie das im vorherigen Abschnitt beschriebene XML-Markup verwenden.

Hinweis Hinweis

Ihnen sollte zwar bekannt sein, was innerhalb der Office Open XML-Dateistruktur passiert, Sie können diese Schritte jedoch auch überspringen. Sie können den Office 2007 Custom UI Editor verwenden. Mit diesem Tool können Sie ein Dokument öffnen, eine benutzerdefinierte Benutzeroberfläche (mit einem Teil für Office 2007 oder für Office 2010) einfügen und das Dokument anschließend zusammen mit dem XML-Markup speichern. Vom Tool werden die in diesem Beispiel aufgeführten Schritte ausgeführt. Es ermöglicht zudem das Hinzufügen von benutzerdefinierten Symbolen zum customUI-Ordner und erleichtert Verweise auf diese Symbole.

So definieren Sie den Inhalt der Backstage-Ansicht und die Struktur mithilfe von Open XML-Formatdateien

  1. Erstellen Sie einen Ordner auf dem Desktop mit dem Namen customUI.

  2. Erstellen Sie die Anpassungsdatei in einem Text-Editor, indem Sie XML-Markup zum Hinzufügen neuer Komponenten zur Microsoft Office Fluent-Benutzeroberfläche, zum Ändern vorhandener Komponenten oder zum Ausblenden von Komponenten schreiben. Verwenden Sie das XML-Markup aus dem vorherigen Beispiel dieses Artikels. Speichern Sie die Datei unter customUI14.xml in dem von Ihnen erstellten Ordner.

  3. Überprüfen Sie das XML-Markup im Vergleich zum benutzerdefinierten Microsoft Office Fluent-Benutzeroberflächenschema (optional).

  4. Erstellen Sie ein Dokument in Microsoft Word 2010, und speichern Sie es dann als eine makrofähige Open XML-Datei mit der Erweiterung DOCM. Sie müssen das Dokument in einem makrofähigen Format speichern, wenn Sie Code hinzufügen möchten, der auf Benutzerinteraktion mit der Anpassung der Microsoft Office Fluent-Benutzeroberfläche reagieren soll.

  5. Beenden Sie Word.

  6. Fügen Sie in Microsoft Windows Explorer dem Dokumentdateinamen die Dateinamenerweiterung ZIP hinzu, und doppelklicken Sie dann auf die Datei, um sie als komprimierten Ordner zu öffnen.

  7. Fügen Sie dem Container die Anpassungsdatei hinzu, indem Sie den customUI-Ordner vom Desktop in den ZIP-Ordner ziehen.

  8. Ziehen Sie den _rels-Ordner aus dem ZIP-Ordner auf den Desktop. Ein Ordner mit dem Namen _rels, der die RELS-Datei enthält, wird auf dem Desktop angezeigt.

  9. Öffnen Sie den neuen Ordner, und öffnen Sie dann die RELS-Datei in einem Text-Editor.

  10. Fügen Sie zwischen dem abschließenden <Relationship>-Element und dem schließenden <Relationships>-Element den Code hinzu, mit dem zwischen der Dokumentdatei und der Anpassungsdatei wie im folgenden Beispiel dargestellt eine Beziehung erstellt wird. Stellen Sie sicher, dass Sie den Ordner- und Dateinamen ordnungsgemäß angeben (vom Id-Attribut wird eine eindeutige Beziehungs-ID für die customUI-Datei angegeben. Der Wert ist beliebig, solange er eindeutig ist).

    <Relationship Type="http://schemas.microsoft.com/office/2010/relationships/ui/extensibility" Target="/customUI/customUI14.xml" 
      Id="customUIRelID" />
    
  11. Speichern Sie die RELS-Datei, und ziehen Sie sie dann in den _rels-Ordner in der komprimierten Datei, wodurch die vorhandene RELS-Datei ersetzt wird.

  12. Entfernen Sie die ZIP-Erweiterung, und öffnen Sie dann das Dokument.

So fügen Sie der Arbeitsmappe Rückrufe für die Funktionalität der Backstage-Ansicht hinzu

  1. Klicken Sie auf die Registerkarte Entwickler, und klicken Sie dann auf Visual Basic.

    Hinweis Hinweis

    Falls die Registerkarte Entwickler nicht angezeigt wird, müssen Sie diese Option festlegen. Dies können Sie in der Anwendung tun, indem Sie auf die Microsoft Office-Schaltfläche klicken, auf Optionen und dann auf Menüband klicken und dann im Feld Befehle auf Registerkarte anordnen die Option Entwickler auswählen. Dies ist eine globale Einstellung, mit der Sie in allen Office-Anwendungen, die die Microsoft Office Fluent-Benutzeroberfläche implementieren, als Entwickler identifiziert werden.

  2. Doppelklicken Sie im Visual Basic-Editor auf ThisDocument, um das Codefenster zu öffnen.

  3. Geben Sie die VBA-Funktion wie im folgenden Beispiel gezeigt ein.

    Sub SampleCallback(ByVal control As IRibbonControl)
       MsgBox "You clicked the " & control.Id & " button. "
    End Sub
    
  4. Speichern Sie das Dokument, und schließen Sie dann den Visual Basic-Editor.

  5. Klicken Sie auf die Microsoft Office-Schaltfläche, und klicken Sie dann auf die Registerkarte Sample Scenarios.

  6. Klicken Sie auf die Schaltfläche Primary Button. Das Dialogfeld ist in Abbildung 4 dargestellt.

    Abbildung 4. Dieses Dialogfeld wird nach Klicken auf die Schaltfläche "Primary Button" angezeigt

    Dialogfeld nach dem Klicken auf die Schaltfläche 'Primär'

Anpassen der Backstage-Ansicht durch Erstellen eines gemeinsamen COM-Add-Ins

Sie können auch COM-Add-Ins zum Ändern der Microsoft Office Fluent-Benutzeroberfläche verwenden. Wenn Sie sich für das Erstellen eines COM-Add-Ins entscheiden, das die Anpassung der Benutzeroberfläche enthält und verwalteten Code verwendet, können Sie zwischen zwei Optionen wählen. Sie können ein standardmäßiges COM-Add-In mithilfe der Vorlage Gemeinsames Add-In erstellen, die in Microsoft Visual Studio 2008 enthalten ist. Wenn Microsoft Visual Studio 2005-Tools für Office SE installiert ist, können Sie auch ein COM-Add-In erstellen, das gegenüber dem standardmäßigen gemeinsamen Add-In mehrere Vorteile bietet.

Neben anderen Vorteilen werden Add-Ins, die Sie mit Microsoft Visual Studio 2005-Tools für Office SE erstellen, in separaten Anwendungsdomänen ausgeführt, und das Programmiermodell für dieses Add-Ins ist einfacher und leichter zu verwalten als das für die gemeinsame Add-In-Vorlage. Weitere Informationen finden Sie unter Migrieren eines gemeinsamen Add-Ins zu einem Visual Studio 2005-Tools für Office System SE-Add-In.

In den folgenden Schritten erstellen Sie jedoch ein verwaltetes Microsoft Word-COM-Add-In mithilfe eines standardmäßigen gemeinsamen Add-Ins. Weitere Informationen zum Erstellen einer benutzerdefinierten Microsoft Office Fluent-Benutzeroberfläche mithilfe eines gemeinsamen COM-Add-Ins und mithilfe von Microsoft Visual Studio 2005-Tools für Office SE finden Sie in dem Artikel mit dem Titel Anpassen der Menüband-Benutzeroberfläche von Office (2007) für Entwickler - Teil 1.

Mit dem COM-Add-In wird die benutzerdefinierte Backstage-Registerkarte wie in Abbildung 5 dargestellt erstellt.

Abbildung 5. Die benutzerdefinierte Registerkarte "Backstage-Ansicht" zeigt mehrere Techniken mit Steuerelementen

Backstage-Ansicht mit Beispielsteuerelementen

So ändern Sie die Microsoft Office Fluent-Benutzeroberfläche durch die Erstellung eines gemeinsamen COM-Add-Ins

  1. Starten Sie Microsoft Visual Studio 2008.

  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt.

  3. Erweitern Sie im Dialogfeld Neues Projekt im Bereich Projekttypen die Option Andere Projekttypen, klicken Sie auf Erweiterbarkeit, und wählen Sie dann Gemeinsames Add-In aus.

  4. Geben Sie in das Feld Name den Begriff BackStageCOMAddin ein, und klicken Sie dann auf OK, um das Projekt zu erstellen.

  5. Klicken Sie auf der ersten Seite des Assistenten für gemeinsames Add-In auf Weiter.

  6. Wählen Sie auf der Seite Wählen Sie eine Programmiersprache aus entweder Visual C# oder Visual Basic aus, und klicken Sie dann auf Weiter.

  7. Deaktivieren Sie auf der Seite Wählen Sie einen Anwendungshost aus alle Optionen außer Microsoft Word, und klicken Sie dann auf Weiter.

  8. Geben Sie auf der Seite Geben Sie einen Namen und eine Beschreibung ein den Begriff BackStageCOMAddin als Namen und Update the Word Backstage View als Beschreibung ein, und klicken Sie dann auf Weiter.

  9. Wählen Sie auf der Seite Wählen Sie die Add-In-Optionen aus die Option Das Add-In laden, wenn die Hostanwendung geladen wird aus, klicken Sie auf Weiter und dann auf Fertig stellen.

Von Visual Studio wird eine neue Projektmappe mit zwei Projekten erstellt: dem Add-In und einem Setupprojekt. (Mit dem Setupprojekt können Sie das Add-In auf den Computern der Benutzer installieren, und zur Entwurfszeit wird das Installieren und Deinstallieren des Add-Ins erleichtert.)

Zur Interaktion mit Word 2010 und dem Objektmodell der Microsoft Office Fluent-Benutzeroberfläche müssen Verweise auf Typbibliotheken wie folgt vorhanden sein.

So fügen Sie Verweise auf Typbibliotheken hinzu

  1. Erweitern Sie im Projektmappen-Explorer den Ordner Verweise. Falls der Ordner Verweise nicht angezeigt wird, klicken Sie im Menü Projekt auf Alle Dateien anzeigen.

  2. Löschen Sie den Verweis Microsoft.Office.Core.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Verweise, und klicken Sie dann auf Verweis hinzufügen.

  4. Klicken Sie auf die Registerkarte COM, wählen Sie Objektbibliothek für Microsoft Office 14.0 aus, und klicken Sie dann auf OK.

  5. Fügen Sie ganz oben im Codebildschirm die Anweisungen wie in den folgenden Beispielen gezeigt hinzu.

    using Office = Microsoft.Office.Core;
    using Word = Microsoft.Office.Interop.Word;
    

So erstellen Sie die XML-Anpassungsdatei

  1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option XML-Datei aus. Legen Sie customUI14.xml als Namen für die neue Datei fest, und klicken Sie dann auf Hinzufügen.

  3. Fügen Sie in der neuen XML-Datei XML-Markup wie im folgenden Beispiel gezeigt hinzu.

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
      <backstage>
        <tab id="testArea" label="Sample Scenarios" columnWidthPercent="30" insertAfterMso="TabInfo" visible="true" >
          <firstColumn>
            <group id="grpOne" label="Group One">
              <primaryItem>
                <button id="btnSimToggleButton" label="Simulate Toggle Button" getImage="toggleImage" onAction="simToggleButton"/>
              </primaryItem>
              <topItems>
                 <layoutContainer id="layoutOne" layoutChildren="vertical">
                    <editBox id="eboxTextTarget" label="Text From Button"  getText="getToggledText" alignLabel="topRight" />
                    <button id="btnInsertText2Doc" label="Insert Text Into Document" isDefinitive="true" onAction="insertText2Doc"/>
                    <editBox id="eboxTextSource" label="Gets Inserted into Document" text="Hello World" onChange="getInsertText"/>
                 </layoutContainer>
              </topItems>
            </group>
            <group id="grpTwo" label="Group Two" getVisible="getInitGroupVisibility" >
              <primaryItem>
                <menu id="menuOne" label="Drop Down Menu">
                  <menuGroup id="menuGrpOne" >
                    <button id="btnShowEditBox"  getLabel="getHideShowEBoxLabel" onAction="showHideEditBox"/>
                    <button id="menuButtonTwo" label="Swap Images" onAction="SwapImages"/>
                    <checkBox id="chkEnableDisableEBox" getLabel="switchChkBoxLabel" onAction="chkEnable"/>
                  </menuGroup>
                </menu>
              </primaryItem>
              <topItems>
                 <editBox id="eboxEnabledDisabled" text="Hello World"  getEnabled="getEBoxEnabledState"/>
                 <editBox id="eboxShownHidden" text="See me now?" getVisible="getEBoxVisibility"/>
                 <imageControl id="imgControlOne" getImage="getControlImage"/>
                 <groupBox id="grpBox" label="Group Box">
                    <checkBox id="chkBox1" getLabel="getChkBox1Label" onAction="grpChkBox1Action"/>
                    <checkBox id="chkBox2" getLabel="getChkBox2Label" onAction="grpChkBox2Action"/>
                    <radioGroup id="rdoGrp" label="Nested Radio Group"  getEnabled="getrdoEnableByChkBox" onAction="radioGrpAction">
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                    </radioGroup>
                 </groupBox>
                 <editBox id="eboxVisiblebyChkBox" text="See me" getVisible="getEBoxVisibleByChkBox"/>
              </topItems>
            </group>
          </firstColumn>
          <secondColumn>
            <group id="grpThree" label="Group Three" visible="true">
              <topItems>
                 <layoutContainer id="layoutTwo" layoutChildren="vertical">
                    <comboBox id="cboPopulateBox" label="Populate Edit Box" onChange="populateEBox">
                      <item id="item1" label="one"/>
                      <item id="item2" label="two"/>
                      <item id="item3" label="three"/>
                    </comboBox>
                    <editBox id="eboxPopulate" getLabel="getEBoxLabel" getText="getCBOXText"/>
                 </layoutContainer>
                 <layoutContainer id="layoutThree" layoutChildren="vertical">
                    <button id="btnHideGroup" getLabel="getHideGroupBtnLabel" onAction="hideGroup"/>
                 </layoutContainer>
              </topItems>
            </group>
          </secondColumn>
        </tab>
      </backstage>
    </customUI>
    
  4. Speichern und schließen Sie die Datei.

Am Einfachsten kann die XML-Datei wie eine Ressource innerhalb der Ressourcendatei des Projekts verwendet werden.

So fügen Sie die XML-Datei als Projektressource hinzu

  1. Wählen Sie im Projektmappen-Explorer die Option customUI14.xml aus.

  2. Wählen Sie im Fenster Eigenschaften die Eigenschaft Buildvorgang aus, und wählen Sie dann in der Liste der Optionen Eingebettete Ressource aus.

  3. Klicken Sie im Menü Projekt auf Eigenschaften von "BackStageCOMAddin".

  4. Klicken Sie auf die Registerkarte Ressourcen.

  5. Ziehen Sie im Projektmappen-Explorer die Datei customUI14.xml in die Entwurfsoberfläche Ressourcen.

    Mit diesem Vorgang wird eine neue dateibasierte Ressource erstellt, die den XML-Inhalt enthält. Von diesem Zeitpunkt an ist die Datei customUI.xml automatisch als Anwendungsressource gespeichert, und Sie können diesen Inhalt mithilfe der Sprachenfeatures von Visual Basic oder Visual C# abrufen.

  6. Schließen Sie das Fenster Ressourcen. Klicken Sie bei Aufforderung auf Ja, um das Dialogfeld Ressourcen zu speichern.

So greifen Sie auf die Hostanwendung zu und verwenden die Backstage-Ansicht

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Connect.cs oder Connect.vb, und klicken Sie dann auf Code anzeigen.

  2. Suchen Sie nach der vorhandenen Deklaration für die applicationObject-Variable, und ändern Sie diese so, dass sie auf ein Word.Application-Objekt verweist. Ändern Sie die Deklaration also wie in den folgenden Beispielen gezeigt.

    private Word.Application applicationObject;
    
  3. Ändern Sie die vorhandene Zeile in der OnConnection-Methode, wodurch eine Instanz des Word.Application-Objekts erstellt wird.

    applicationObject =(Word.Application)application;
    
  4. (nur Visual Basic) Ändern Sie die Codezeile ziemlich weit oben in der Klasse, die mit Implements beginnt, indem Sie Unterstützung für die Implementierung des IRibbonExtensibility-Namespaces wie im folgenden Beispiel gezeigt hinzufügen, und drücken Sie dann die EINGABETASTE. Die GetCustomUI-Prozedur wird von Visual Basic automatisch eingefügt.

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. (nur C#) Fügen Sie am Ende der public class Connect :-Anweisung ein Komma hinzu, und geben Sie dann den Schnittstellennamen wie im folgenden Beispiel gezeigt ein.

    IRibbonExtensibility
    
  6. (nur C#) Klicken Sie mit der rechten Maustaste auf die hinzugefügte Schnittstelle, klicken Sie auf Schnittstelle implementieren, und klicken Sie dann auf Schnittstelle explizit implementieren. Dadurch wird eine Stubprozedur für das einzige IRibbonExtensibility-Schnittstellenelement hinzugefügt: GetCustomUI.

  7. Ändern Sie die GetCustomUI-Methode so wie im folgenden Beispiel gezeigt.

    string IRibbonExtensibility.GetCustomUI(string RibbonID)
    {
      return SpecStatusResource.customUI14;
    }
    
    Wichtiger HinweisWichtig

    GetCustomUI ist so implementiert, dass die XML-Zeichenfolge für die Anpassung der Benutzeroberfläche zurückgegeben wird. Sie sollte nicht zur Initialisierung verwendet werden. Besonders sollte vermieden werden, Dialogfelder oder Meldungsfenster in der GetCustomUI-Implementierung anzuzeigen. Der geeignetere Platz für die Initialisierung befindet sich in der OnConnection-Methode (für gemeinsame Add-Ins) oder in der ThisAddIn_Startup-Methode (für Add-Ins, die mithilfe von Microsoft Visual Studio 2005-Tools für Office SE erstellt wurden).

  8. Fügen Sie der Klasse die folgende Methode hinzu. Diese Methode wird aufgerufen, wenn die Benutzeroberfläche des Menübands geladen wird, und erstellt eine Variable mit einem Verweis auf die Benutzeroberfläche des Menübands und zeichnet dann das Menüband neu.

    IRibbonUI myRibbon;
    public void OnLoad(IRibbonUI ribbon)
    {
       myRibbon = ribbon;
       myRibbon.Invalidate();
    }
    
    

Häufig gestellte Fragen

Es folgen häufig gestellte Fragen in Bezug auf die Backstage-Ansicht.

Wie viele benutzerdefinierte Registerkarten können der Backstage-Ansicht maximal hinzugefügt werden?

Die obere Grenze für die Anzahl der Registerkarten beträgt 255.

Kann die Position angegeben werden, an der eine Registerkarte hinzugefügt wird?

Sie können angegeben, ob eine Registerkarte vor oder nach einer vorhandenen Registerkarte hinzugefügt wird.

Können vorhandene Registerkarten neu sortiert werden?

Vorhandene Registerkarten können nicht neu sortiert werden. Sie können nur die relative Reihenfolge der Registerkarten angeben, indem Sie eine Registerkarte vor oder nach einer anderen Registerkarte hinzufügen.

Kann das Spaltenlayout von vorhandenen Registerkarten geändert werden?

Das Spaltenlayout einer vorhandenen Registerkarte, die Sie nicht erstellt haben, kann nicht geändert werden.

Wo können Gruppen hinzugefügt werden?

Sie können in jeder Spalte einer vorhandenen Registerkarte eine neue Gruppe hinzufügen. Sie können auch angeben, ob eine neue Gruppe vor oder nach einer vorhandenen Gruppe hinzugefügt wird. Es gilt jedoch eine Einschränkung: Den Registerkarten, die ein taskFormGroup-Element enthalten wie die Registerkarte Freigabe, können keine weiteren Gruppen hinzugefügt werden.

Können vorhandene Gruppen neu sortiert werden?

Vorhandene Gruppen können nicht neu sortiert werden. Sie können nur die relative Reihenfolge für neue Gruppen angeben, die Sie erstellen.

Wenn mehrere COM-Add-Ins hinzugefügt werden, die die Backstage-Ansicht für eine Microsoft Office-Anwendung ändern, in welcher Reihenfolge werden diese dann implementiert?

Vorrang bei der Reihenfolge von konkurrierenden Änderungen besitzt die zuletzt geladene Änderung.

Beschreibungen, Attribute und Informationen zu untergeordneten Elementen für Steuerelemente der Backstage-Ansicht

Die folgende XML-Referenz enthält Einzelheiten zu den Steuerelementen, die als Teil der Backstage-Ansicht enthalten sind.

"Backstage"

Stellt das <backstage>-Element dar

Attribut

Typ

Rückrufsignatur

onShow

Callback

VBA: Sub OnShow(contextObject As Object)

C#: void OnShow(object contextObject)

Visual Basic: Sub OnShow(contextObject As Object)

C++: HRESULT OnShow([in] Object *pContextObject)

onHide

Callback

VBA: Sub OnHide(contextObject As Object)

C#: void OnHide(object contextObject)

Visual Basic: Sub OnHide(contextObject As Object)

C++: HRESULT OnHide([in] Object *pContextObject)

Untergeordnete Elemente: tab, button


"Button"

Stellt ein Schaltflächensteuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

*expand

String

Nicht zutreffend

*layout

String

Nicht zutreffend

tag

String

Nicht zutreffend

*insertAfterMso

Integrierter Name (String)

Nicht zutreffend

*insertBeforeMso

Integrierter Name (String)

Nicht zutreffend

*insertAfterQ

Qualifizierter Name (String)

Nicht zutreffend

*insertBeforeQ

Qualifizierter Name (String)

Nicht zutreffend

*description

String

Nicht zutreffend

*getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

String

Nicht zutreffend

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

String

Nicht zutreffend

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

isDefinitive

Boolean

Nicht zutreffend

image

String

Nicht zutreffend

imageMso

Integrierter Name (String)

Nicht zutreffend

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

* Wird nicht in allen Implementierungen verwendet

Untergeordnete Elemente: Keine


"Category"

Stellt einen category-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: task


"Check Box"

Stellt ein checkBox-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

*expand

String

Nicht zutreffend

*layout

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C#: void OnAction(IRibbonControl control, bool isPressed)

Visual Basic: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR VARIANT_BOOL *pvarPressed)

getPressed

Callback

VBA: Sub GetPressed(control As IRibbonControl, ByRef returnedVal)

C#: bool GetPressed(IRibbonControl control)

Visual Basic: Function GetPressed(control As IRibbonControl) As Boolean

C++: HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

description

String

Nicht zutreffend

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

String

Nicht zutreffend

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

String

Nicht zutreffend

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

* Wird nicht in allen Implementierungen verwendet

Untergeordnete Elemente: Keine


"Combo Box"

Stellt ein comboBox-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

alignLabel

String

Nicht zutreffend

expand

String

Nicht zutreffend

layout

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onChange

Callback

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

String

Nicht zutreffend

getText

Callback

VBA: Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#: string GetText(IRibbonControl control)

Visual Basic: Function GetText(control As IRibbonControl) As String

C++: HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: item


"customUI"

Das Stammtag aller Anpassungen der Fluent-Benutzeroberfläche.

Attribut

Typ

Rückrufsignatur

onLoad

Callback

VBA: Sub OnLoad(ribbon As IRibbonUI)

C#: void OnLoad(IRibbonUI ribbon)

Visual Basic: Sub OnLoad(ribbon As IRibbonUI)

C++: HRESULT OnLoad([in] IRibbonUI *pRibbon)

loadImage

Callback

VBA: Sub LoadImage(imageId As String, ByRef image)

C#: IPictureDisp LoadImage(string image_id)

Visual Basic: Function LoadImage(imageId As String) As IPictureDisp

C++: HRESULT LoadImage([in] BSTR *pbstrImageId, [out, retval] IPictureDisp ** ppdispImage) *pRibbon)

Untergeordnete Elemente: commands, ribbon, backstage


"Drop Down"

Stellt ein dropDown-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

expand

String

Nicht zutreffend

layout

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Callback

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: int GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

String

Nicht zutreffend

screentip

String

Nicht zutreffend

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

supertip

String

Nicht zutreffend

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: item


"Edit Box"

Stellt das editBox-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

alignLabel

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

expand

String

Nicht zutreffend

layout

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

maxLength

Positive Integer

Nicht zutreffend

onChange

Callback

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

sizeString

String

Nicht zutreffend

getText

Callback

VBA: Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#: string GetText(IRibbonControl control)

Visual Basic: Function GetText(control As IRibbonControl) As String

C++: HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: Keine


"Group"

Stellt den group-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

insertAfterMso

Integrierter Name (String)

Nicht zutreffend

insertBeforeMso

Integrierter Name (String)

Nicht zutreffend

insertAfterQ

Qualifizierter Name (String)

Nicht zutreffend

insertBeforeQ

Qualifizierter Name (String)

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getStyle

Callback

VBA: Sub GetStyle(control As IRibbonControl, ByRef returnedVal)

C#: BackstageGroupStyle GetStyle(IRibbonControl control)

Visual Basic: Function GetStyle(control As IRibbonControl) As BackstageGroupStyle

C++: HRESULT GetStyle([in] IRibbonControl *pControl, [out, retval] BackstageGroupStyle *pbstrReturnedVal)

helperText

String

Nicht zutreffend

getHelperText

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Boolean

Nicht zutreffend

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: primaryItem, topItems, bottomItems


"Group Box"

Stellt den groupBox-Container dar.

Attribute:

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

expand

String

Nicht zutreffend

layout

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl


"Hyperlink"

Stellt ein hyperlink-Steuerelement dar.

Attribute:

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

alignLabel

String

Nicht zutreffend

expand

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

layout

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

target

String

Nicht zutreffend

getTarget

Callback

VBA: Sub GetTarget(control As IRibbonControl, ByRef returnedVal)

C#: string GetTarget(IRibbonControl control)

Visual Basic: Function GetTarget(control As IRibbonControl) As String

C++: HRESULT GetTarget([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: Keine


"Image Control"

Stellt ein imageControl-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

String

Nicht zutreffend

imageMso

Integrierter Name (String)

Nicht zutreffend

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: Keine


"Item"

Stellt das Element in einem dropDown- oder comboBox-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: Keine


"Label Control"

Stellt das labelControl-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

alignLabel

String

Nicht zutreffend

expand

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

layout

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: Keine


"Layout Container"

Stellt den layoutContainer-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

align

String

Nicht zutreffend

expand

String

Nicht zutreffend

layoutChildren

String

Nicht zutreffend

Untergeordnete Elemente: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl


"Menu"

Stellt das menu-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

*description

String

Nicht zutreffend

*getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

tag

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

String

Nicht zutreffend

imageMso

Integrierter Name (String)

Nicht zutreffend

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*screentip

String

Nicht zutreffend

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

String

Nicht zutreffend

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

* Wird nicht in allen Implementierungen verwendet

Untergeordnete Elemente: menuGroup


"Menu Group"

Stellt den menuGroup-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

itemSize

String

Nicht zutreffend

Untergeordnete Elemente: button, checkbox, menu


"Primary Item"

Stellt einen primaryItem-Container dar.

Attribute: Keine

Untergeordnete Elemente: button, menu


"Radio Button"

Stellt die Schaltfläche in einem radioGroup-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: Keine


"Radio Group"

Stellt den Container für das radioButton-Steuerelement dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

alignLabel

String

Nicht zutreffend

expand

String

Nicht zutreffend

layout

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Callback

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: int GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Untergeordnete Elemente: radioButton


"Tab"

Stellt den primären Container für verwandte Steuerelemente der Backstage-Ansicht bereit.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

insertAfterMso

Integrierter Name (String)

Nicht zutreffend

insertBeforeMso

Integrierter Name (String)

Nicht zutreffend

insertAfterQ

Qualifizierter Name (String)

Nicht zutreffend

insertBeforeQ

Qualifizierter Name (String)

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

title

String

Nicht zutreffend

getTitle

Callback

VBA: Sub GetTitle(control As IRibbonControl, ByRef returnedVal)

C#: string GetTitle(IRibbonControl control)

Visual Basic: Function GetTitle(control As IRibbonControl) As String

C++: HRESULT GetTitle([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

columnWidthPercent

Positive Integer

Nicht zutreffend

firstColumnMinWidth

Positive Integer

Nicht zutreffend

firstColumnMaxWidth

Positive Integer

Nicht zutreffend

secondColumnMinWidth

Positive Integer

Nicht zutreffend

secondColumnMaxWidth

Positive Integer

Nicht zutreffend

Untergeordnete Elemente: firstColumn, secondColumn


"Task"

Stellt den task-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

enabled

Boolean

Nicht zutreffend

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Token

Nicht zutreffend

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

description

String

Nicht zutreffend

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

image

String

Nicht zutreffend

imageMso

Integrierter Name (String)

Nicht zutreffend

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(IRibbonControl control) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

Untergeordnete Elemente: group


"Task Form Group"

Stellt einen taskFormGroup-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

insertAfterMso

Integrierter Name (String)

Nicht zutreffend

insertBeforeMso

Integrierter Name (String)

Nicht zutreffend

insertAfterQ

Qualifizierter Name (String)

Nicht zutreffend

insertBeforeQ

Qualifizierter Name (String)

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

String

Nicht zutreffend

getHelperText

Callback

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Boolean

Nicht zutreffend

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: category


"Task Group"

Stellt einen taskGroup-Container dar.

Attribut

Typ

Rückrufsignatur

id

Id

Nicht zutreffend

idQ

Qualifizierter Name (String)

Nicht zutreffend

idMso

Integrierter Name (String)

Nicht zutreffend

tag

String

Nicht zutreffend

insertAfterMso

Integrierter Name (String)

Nicht zutreffend

insertBeforeMso

Integrierter Name (String)

Nicht zutreffend

insertAfterQ

Qualifizierter Name (String)

Nicht zutreffend

insertBeforeQ

Qualifizierter Name (String)

Nicht zutreffend

label

String

Nicht zutreffend

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Boolean

Nicht zutreffend

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

String

Nicht zutreffend

getHelperText

Callback

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Boolean

Nicht zutreffend

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Untergeordnete Elemente: category

Schlussbemerkung

Mit der Erweiterbarkeit der Backstage-Ansicht steht Ihnen eine leistungsstarke Möglichkeit zum Bereitstellen einer angepassten, auf die Zielgruppe abgestimmte Gruppe von Menüs und Optionen für die Benutzer zur Verfügung. Und das Beste daran ist, dass Sie die Erfahrungen und Strukturen verwenden können, die Sie beim Anpassen der Benutzeroberfläche für das Menüband verwendet haben. Ich möchte Sie ermutigen, die verschiedenen Komponenten der Microsoft Office Fluent-Benutzeroberfläche zum Erstellen von angepassten Anwendungen für Ihre Organisation kennen zu lernen.

Weitere Ressourcen

Weitere Informationen zu den in diesem Artikel erläuterten Themen finden Sie hier:

Danksagung: Mein Dank gilt meiner Lektorin Linda Cannon für ihre Hilfe bei der Vorbereitung dieses Artikels zur Veröffentlichung.

Anzeigen: