Brandneue VSTO Powertools

Das VSTO Team hat ein Set von neuen Tools herausgebracht, welche Office-Entwicklern die Arbeit sehr erleichtern werden. Es handelt sich um 4 einzelne Downloads:

- VSTO_PTRibbonIDs.exe installiert das Ribbon IDs Tool Window.

- VSTO_PTExtLibs.exe installiert die Office Interop API Extensions und den Custom UI Manager.

- VSTO_PT.exe installiert alle anderen Power Tools.

- VSTOA Power Tools.docx – Überblick über die Funktionalität.

Im Ordner \Program Files\Microsoft VSTO Power Tools 1.0\ finden Sie nach der Installation der ersten 3 Teile folgende Tools vor:

image

Hilfe-Dokumente sind in den o.g. Ordnern zu finden.

Office Custom UI Manager

Enthält ein Set von Klassen, die die Koordinierung mehrfacher Instanzen von RibbonX, Custom Task Panes und Custom Form Regions übernehmen. Hintergrund: Zum Beispiel in Outlook wird jedes Element (Outlook Item, wie z.B. Mail oder Contact) innerhalb eines sog. Inspectors geladen. Diese Instanz des Inspectors ist verbunden mit dem jeweiligen Ribbon UI und Custom Task Pane. Soll nun über ein Ribbon Element auf die Custom Task Pane zugegriffen werden, so benötigt man die Instanz des Inspectors, in dem das Ribbon UI läuft und davon ausgehend die entsprechende Instanz der gewünschten Custom Task Pane.

 

SharePoint Feature Sweeper

Entfernt nicht mehr benötigte Features vom Zielserver

 

SharePoint Workflow Package Generator

Ein Deployment Package Generator für SharePoint Workflow Projekte.

 

VSTO/VSTA Pipeline Verifier

Mehr für VSTA, doch auch für VSTO nützlich. Überprüft die komplette VSTA Pipeline.
image

 

VSTO Developer Cleaner

Entfernt VSTO Einträge aus der Registry bzw. dem Certificate Store auf der Developer Maschine, wobei einzeln ausgewählt oder alles gelöscht werden kann.
image

VSTO Troubleshooter

Überprüft, ob Abhängigkeiten bzw. Prerequisites für VSTO-Lösungen korrekt installiert sind.image

Meine Lieblingstools:

image Ribbon IDs ToolWindowIntegriert ein Fenster mit allen in Office 2007 verfügbaren Ribbon Images in Visual Studio. Beim Anklicken eines Symbols wird die dazugehörige Office Image ID in die Zwischenablage kopiert und kann für ausgewählte UI Elemente direkt in das entsprechende Property Feld (OfficeImageID) eingefügt werden. Leider keine Drag&Drop Support und derzeit nur für die englische Version von Visual Studio verwendbar.
image Open XML Package EditorEndlich direkt in Visual Studio Open XML Package Files (Word, Excel and PowerPoint Dokumente) direkt bearbeiten. In einem TreeView werden die einzelnen Bestandteile des Open XML Files angezeigt und können von dort direkt geöffnet werden. Zudem können Parts importiert bzw. exportiert, editiert und gelöscht, Beziehungen und neue Ordner angelegt und das Ergebnis wieder abgespeichert werden.

 

Office Interop API Extensions

Wie oft haben C# Entwickler, die sich mit Office bschäftigen, neidisch auf Ihre VB-Kollegen geschaut, wenn es darum ging, Methoden aus den Office Objektmodell zu verwenden. Optionale oder benannte Parameter sind C# ein Fremdwort und oftmals mußten Parameter auch als ref object übergeben werden, was VB im Handumdrehen selbst erledigt hat, in C# aber ein boxing in eine Object Variable erforderte und anschließend die Verwendung derselben mit dem ref Schlüsselwort im Aufruf.

Die Office Interop API Extensions stellen ein Set von C# Klassen dar, um parametrisierte Eigenschaften bzw. optionale / benannte Parameter komfortabel verwenden zu können und die Möglichkeit zu schaffen, LINQ auf Office Collection Objekte anzuwenden.

Vorteile: Stark typisierte Aufrufe, weniger Code, Nie wieder System.Type.Missing oder Parameter als Objekt!

 

Der bekannte Aufruf von Workbooks.Open mit C#:
image
Das Ganze mit den Extension Methods:
image
Herkömmliche Verwendung eines Filters auf InBox Items:
image
Dasselbe mit Outlook Extension Methods und LINQ:
image

 

Solche Extension Methods sind übrigens an dem kleinen Pfeil nach unten vor dem Methodennamen zu erkennen:

image

Ein (kleiner) Nachteil ist allerdings, dass die referenzierten Extension Assemblies ebenfalls mit verteilt werden müssen, bis Sie (hoffentlich) irgendwann in VisualStudio einfließen werden.

Sehr cool! Ein Muß für jeden VSTO-Entwickler.

 

Hier geht's zum Download.