Erstellen von Benutzeroberflächenlösungen speziell für die Microsoft Office-Versionen 2007 und 2010

**Zusammenfassung:**Microsoft Office 2010 erweitert die Funktionen, die in Version 2007 von Microsoft Office eingeführt wurden. In diesem Artikel erfahren Sie, wie Sie gezielte Lösungen für eine Version von Microsoft Office oder für beide Versionen erstellen können.

Letzte Änderung: Montag, 9. März 2015

Gilt für: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Microsoft-Symbol Mirko Mandic, Microsoft Corporation

November 2009

Betrifft:   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, Microsoft Word 2010

Inhalt

  • Erstellen von Lösungen für 2007 Office System und Microsoft Office 2010

  • Erstellen einer dokumentbasierten Lösung

  • Erstellen einer COM-Add-In-Lösung

  • Fazit

Erstellen von Lösungen für 2007 Office System und Microsoft Office 2010

In Microsoft Office 2010 wird das Erweiterungsmodell für die Microsoft Office Fluent-Benutzeroberfläche weiterentwickelt, indem die in Version 2007 eingeführte Plattform mit neuen Funktionen ergänzt und Unterstützung für die Anpassung der neuen Backstage-Ansicht eingeführt wird.

In diesem Artikel wird beschrieben, wie Sie Benutzeroberflächen-Erweiterungslösungen erstellen, die mit Version 2007 von Microsoft Office, mit Microsoft Office 2010 oder mit beiden Versionen kompatibel sind.

Die neuen Benutzeroberflächen-Erweiterungsfunktionen werden im Artikel Einführung in die Office 2010-Backstage-Ansicht für Entwickler ausführlich beschrieben.

Erstellen einer dokumentbasierten Lösung

Wie schon bei Version 2007 können Sie die Benutzeroberfläche in Office 2010 für ein bestimmtes Dokument anpassen. Dies geschieht wie in Version 2007, indem Sie eine XML-Datei mit der benutzerdefinierten Benutzeroberflächendefinition zur Datei im Office Open XML-Format hinzufügen.

  • Wenn Sie Ihre Lösung für Version 2007 erstellen (oder für Office 2010, aber die neuen Funktionen für die Benutzeroberflächenerweiterung nicht verwenden möchten, die in Office 2010 eingeführt wurden), können Sie die Vorgehensweise zur Benutzeroberflächenerweiterung von Version 2007 verwenden: Die XML-Datei mit den Benutzeroberflächenanpassungen sollte den Namespace für 2007 Office System verwenden, und die Beziehungsdatei (RELS-Datei) sollte eine spezifische Beziehung für 2007 Office System enthalten.

    Das bedeutet auch, dass in Office 2007 verfasste Lösungen in Office 2010 funktionieren, ohne dass Änderungen erforderlich sind.

    Der Namespace für Version 2007 lautet https://schemas.microsoft.com/office/2006/01/customui. Der entsprechende Beziehungsnamespace ist https://schemas.microsoft.com/office/2006/relationships/ui/extensibility.

  • Falls Sie Ihre Lösung für Office 2010 schreiben, müssen Sie sicherstellen, dass Sie in der Datei im Office Open XML-Format den richtigen Namespace und die entsprechende Beziehung verwenden. Der Office 2010-Namespace ist https://schemas.microsoft.com/office/2009/07/customui. Der entsprechende Beziehungsnamespace ist https://schemas.microsoft.com/office/2007/relationships/ui/extensibility.

  • Wenn Ihre Lösung für beide Versionen (2007 und 2010) vorgesehen ist (und die Office 2010-Version die neuen Funktionen für die Benutzeroberflächenerweiterung verwenden soll, die in Version 2007 nicht unterstützt werden), benötigen Sie zwei benutzerdefinierte Benutzeroberflächen-XML-Dateien in der Office Open XML-Datei, die die jeweilige Version von Office erweitern. Außerdem müssen Sie sicherstellen, dass die Beziehungsdatei entsprechende Beziehungseinträge für beide Dateien enthält.

Tabelle 1. Verwendung benutzerdefinierter Benutzeroberflächen-XML-Dateien in Version 2007 und 2010 von Office

XML-Dateien

2007 Office System

Office 2010

XML-Datei für 2007 Office System

XML-Datei wird verwendet

XML-Datei wird verwendet

XML-Datei für Office 2010

XML-Datei wird ignoriert

XML-Datei wird verwendet

XML-Dateien für 2007 Office System und Office 2010

XML-Datei für Version 2007 wird verwendet, XML-Datei für Office 2010 wird ignoriert

XML-Datei für Office 2010 wird verwendet, XML-Datei für Version 2007 wird ignoriert

Auf Dokumentebene umfasst der Anpassungsprozess für die Office Fluent-Benutzeroberfläche die folgenden Schritte:

  1. Ersetzen Sie die Erweiterung im Namen der Datei mit Makros (DOCM, XLSM usw.) durch die Erweiterung ZIP.

  2. Öffnen Sie das ZIP-Paket, und fügen Sie die XML-Datei, in der die benutzerdefinierte Benutzeroberfläche definiert ist, zum Paket hinzu.

    Überprüfen Sie nicht nur, dass die im Markup verwendeten Tags für die Zielversion(en) von Office geeignet sind, sondern auch, dass der richtige Namespace verwendet wird, wie weiter oben beschrieben.

  3. Ändern Sie das Paketbeziehungsteil (RELS-Datei), verknüpfen Sie es mit der richtigen XML-Datei, und stellen Sie sicher, dass der Beziehungstyp der Zielversion von Microsoft Office entspricht. Wenn Sie beispielsweise eine Lösung für Office 2010 erstellen und im Ordner customUI (innerhalb des ZIP-Pakets) die Datei customUI2010.xml hinzugefügt haben, sollte die neue Beziehungszeile wie im folgenden Beispiel aussehen.

    <Relationship Id="rId4" Type="https://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="/customUI/customUI2010.xml" />
    

    Die Id-Beziehung kann einen beliebigen Wert haben, solange sie innerhalb der RELS-Datei eindeutig ist.

  4. Schließen Sie das ZIP-Paket, und ersetzen Sie die Erweiterung ZIP wieder durch die entsprechende Erweiterung der Datei mit Makros.

  5. Öffnen Sie das Dokument, und überprüfen Sie, ob die Anpassungen aus Ihrer XML-Datei angezeigt werden.

Hinweis

Zwar ist es nützlich, die Abläufe in der Struktur der Office Open XML-Formate zu verstehen, Sie können diese Schritte aber unter Umständen umgehen. Hierbei hilft Ihnen das Tool Custom UI Editor. Mit diesem Tool können Sie ein Dokument öffnen, eine benutzerdefinierte Benutzeroberfläche einfügen (mit einer spezifischen Datei für Version 2007 oder 2010 von Microsoft Office) und das Dokument anschließend mit dem fertigen XML-Markup speichern. Sie können mit dem Tool auch benutzerdefinierte Symbole hinzufügen und verwalten.

Erstellen einer COM-Add-In-Lösung

Üblicherweise enthält ein COM-Add-In Code, der das XML zurückgibt, mit dem die benutzerdefinierte Benutzeroberfläche für Microsoft Office definiert wird. Dieses XML kann sich in einer externen Datei bzw., in einfacheren Fällen, direkt im Code befinden. Beim Ausführen der Anwendung gibt der Code das XML-Markup an Office zurück. In einem optionalen Schritt können Sie dieses XML anhand einer XSD-Schemadatei validieren. Anschließend wird das XML in den Arbeitsspeicher geladen und auf die Office Fluent-Benutzeroberfläche übernommen.

  • Wenn das Add-In für eine einzelne Version von Microsoft Office vorgesehen ist, sei es nun Version 2007 oder Version 2010, sollte das vom Code zurückgegebene Markup den entsprechenden Namespace (weiter oben definiert) enthalten und für die Zielversion gültig sein.

  • Falls das Add-In sowohl auf Version 2007 als auch auf Version 2010 von Microsoft Office abzielt, sollte der Code automatisch erkennen, welche Version ausgeführt wird, und anhand der Prüfung das entsprechende Markup zurückgeben. Hierzu müssen beide Markupdateien vom Code erstellt worden und für diesen zugänglich sein. Sie können das Objektmodell der Anwendung (Application.Version) verwenden, um zu überprüfen, welche Version von Microsoft Office Sie verwenden.

    Alternativ können Sie Dasselbe auch mittels Reflektion erreichen. Nachfolgend ist ein Beispiel unter Verwendung von Microsoft Visual C# dargestellt.

    string version = applicationObject.GetType().InvokeMember(
       "Version", BindingFlags.GetProperty,
        System.Type.DefaultBinder,
        applicationObject,
       new Object[0]) as string;
    

Fazit

Wie Sie die einzelnen Versionen von Microsoft Office ansprechen, hängt davon ab, ob Sie eine dokumentspezifische oder eine COM-basierte Lösung erstellen. Bei einer dokumentbasierten Lösung müssen Sie sicherstellen, dass die XML-Datei, in der die Struktur der angepassten Benutzeroberfläche für die jeweilige Zielversion von Microsoft Office definiert ist, von Microsoft Office gefunden und geladen wird. Bei einer COM-basierten Lösung muss der Code das XML zurückgeben, mit dem die Struktur der benutzerdefinierten Benutzeroberfläche für die Zielversion von Microsoft Office definiert wird.

Zusätzliche Ressourcen

Weitere Informationen zur Office 2010-Erweiterung finden Sie in den folgenden Ressourcen: