• Decrease font size
  • Reset font size to default
  • Increase font size

/ads

/support

Wenn Ihr mich unterstützen möchtet, freue ich mich über eine Spende.
Das ist aber natürlich komplett freiwillig.
Addin Entwicklung mit Add-in Express
dev - c#
AddThis Social Bookmark Button

Die Situation

Wer bereits Erfahrung mit der Programmierung von Erweiterungen für die Programme aus der Microsoft Office-Reihe gesammelt kann, kann mit Sicherheit eins bestätigen. Eine komplizierte API die sich zudem stark von Version zu Version ändert. Ein Programmiermodell, das ,milde gesagt, weit entfernt von intuitiv ist und Systemvoraussetzungen für die Programmierung die für Gelegenheitsprogrammierer nicht unbedingt einladend sind.
Es wäre doch schön, wenn es eine Bibliothek gäbe, die einem die Standardaufgaben rund um die Office-Programmierung deutlich leichter zugängig macht, damit man sich beim Entwickeln auf die Herausforderungen konzentrieren kann, die das eigene Produkt von anderen abheben soll.

Unmöglich?

Die Firma Add-in Express Ltd. aus Weißrussland bietet ein gleichnamiges Tool an, das diese Wünsche wahr werden lassen soll.
Zeit also, die Werbeversprechen durch einen praktischen Test zu überprüfen. Zu diesem Zweck stellte mir die Firma freundlicherweise ein Testmuster Ihres Produktes "Add-in Express 2008 for Microsoft Office and .net" zur Verfügung.

Installation

Alle Produkte von Add-In Express sind Downloadversionen. Herunterladen, auf die setup.exe doppelklicken, los geht's. Bei der Installation wird zunächst nach vorhandenen Versionen von Visual Studio gesucht. Einer der Vorteile gegenüber herkömmlicher Office Programmierung per VSTO besteht darin, dass Add-In Express auch mit den kostenfrei erhältlichen Express-Versionen von Visual Studio lauffähig ist. Bevor die Installation richtig startet muss das Produkt noch aktiviert werden. Hierzu ist eine Internet-Anbindung zwingend erforderlich. Installationsdauer etwa 5 Minuten, danach kann es losgehen. Aber wie?

Dokumentation

Um diesen Punkt zu klären ist ein Blick in die äußerst ausführliche Dokumentation sinnvoll. Bei der Installation wird ein Dokumentationsordner erzeugt. In diesem befindet sich neben diversen vorkompilierten Hilfedateien auch eine PDF-Datei, die die Möglichkeiten von Add-in Express anhand mehrerer kleinerer Projekte exemplarisch darstellt. Auf der Webseite von Add-In Express gibt es ebenfalls ein wahres Arsenal von Hilfsdateien, How To-Listen, Flash-Filmen als Lehrvideos und Quellcode für lauffähige Office-Erweiterungen. Ein Wort beschreibt, wie es um die Dokumentation beschieden ist: Vorbildlich!

Eine Outlook Leiste in 5 Minuten erstellen
Um die Funtkionsweise von Add-in Express zumindest ansatzweise zu verdeutlichen ist ein Mini-Beispiel sicher am geeignetsten. Also schnell das Visual Studio der Wahl als Administrator starten und ein neues Projekt anlegen.

neuesProjekt

 

Hier findet man jetzt einige neue Projekttypen. Für unser Beispiel wählen wir das ADX COM Addin. Beim Erstellen des Projekts hilft nun zunächst der folgende Wizard.

neuWizard1 neuWizard2 

Hier kann gewählt werden für welche Office Produkte das neue Addin genutzt werden soll. Ausserdem kann bei Bedarf automatisch ein passendes Setup-Projekt generiert werden. Dieses wird man später sicher an seine eigenen Wünsche anpassen, als Einstieg ist die Generierung jedoch recht praktisch. Selbstverständlich ist eine manuelle Setup-Erstellung ebenfalls möglich. Bei Wahl des ADX Loaders läuft das Addin später in einem eigenen Kontext. Dies ist sehr praktisch, wenn bei der Ausführung Fehler im Addin auftreten. Diese reißen dann nämlich nicht automatisch die Hauptanwendung mit in's Datennirvana. Zuletzt kann man sich noch entscheiden, ob eine PIA eingebunden wird, die genau an eine Office-Version gebunden ist, oder ob eine versionsübergreifende Assembly genutzt wird. Beide Möglichkeiten haben diverse Vor- und Nachteile, die in der Dokumentation ausführlich erläutert werden.

Nachdem dieser übersichtliche Wizard durchlaufen wurde können wir mit der Entwicklung loslegen. Das erstellte Addin Module öffnen wir zunächst im Designer.

designer

Ein Kontextmenu zeigt uns die Vielfalt von Möglichkeiten an, die wir dem Designer hinzufügen können. Für unser Beispiel wählen wir die Explorer CommandBar. Nun folgt ein Schritt, der jedem VSTO-Entwickler die Freudentränen in's Gesicht treiben wird. Echtes RAD für Office.

radDesign

Hier können verschiedene Controls zur CommandBar hinzugefügt werden. Diese werden direkt im Designer angezeigt (siehe oben im Bild) und die Properties lassen sich komfortabel editieren. In diesem Editor stellen wir also bereits die wichtigsten Eigenschaften unserer CommandBar und deren Controls ein. Nicht ganz so intuitiv ist leider das Hinzufügen von Events gelungen. Hierfür müssen wir nämlich diesen Designer verlassen und im DropDown-Menu der Eigenschaften das gesuchte Control auswählen. Nun lassen sich gewohnt einfach Events hinzufügen und editieren. Genau dies machen wir nun für das Click-Event eines der neu erstellten Buttons.

eventHandler

Die erstellte Methode füllen wir nur exemplarisch mit der Anzeige einer MessageBox. So weit, so gut. Jetzt möchten wir natürlich testen, ob unser kleines Beispiel auch funktioniert. Dazu registrieren wir zuerst das Addin mittels Kontextmenu. Dies ist im Übrigen der Grund dafür, dass wir unsere Entwicklungsumgebung als Administrator starten mussten. Nun könnten wir entweder Outlook direkt starten, oder gleich in den Debug-Modus gehen.

startDebug 

In den Eigenschaften des Projekts kann Outlook als extern zu startende Anwendung festgelegt werden. Danach klappt's dann auch mit der Fehlersuche.
Und wie sieht es nun aus?
So:

barInAction1

Beim Klick auf den linken Button kommt dann auch direkt die MessageBox zum Vorschein (müsst Ihr mir jetzt einfach mal glauben).
Dieses Beispiel per Hand zu coden hätte für einen Anfänger mit Sicherheit ein Vielfaches der Zeit verschlungen.

Umfang/Möglichkeiten

Der Funktionsumfang von Add-In Express ist schier überwältigend. Neben diversen Ausprägungen von COM-Addins, werden SmartTags, Excel RTD, Anpassung diverser GUI-Bereiche der Office Programme wie z.B. den Ribbons oder speziellen Task-Panes unterstützt. Dies ist auch der Grund dafür, dass ich die Möglichkeiten des Produkts bisher lediglich punktuell antesten konnte. Es gibt noch sehr viel zu entdecken und ich denke, dass ich zu einem späteren Zeitpunkt erneut einen Beitrag zu diesem Produkt schreiben werde.

Support

Irgendwann kommt man beim Entwickeln fast zwangsläufig an den Punkt, wo es trotz hervorragender Dokumentation und eingängiger Bedienung einfach nicht mehr weiter zu gehen scheint. An diesem Punkt kommen dann meist Google oder ähnliche Suchmaschinen zum Zug. Die Firma Add-In-Express bietet mehrere Möglichkeiten,um Fragen zu stellen. Zum einen den direkten Weg per Mailformular zum Zweiten ein Forum. Fragen die dort gestellt werden, werden im Allgemeinen recht schnell von den Supportmitarbeitern geklärt. Dabei gehen die Entwickler von Add-In Express soweit, sich u.U. komplette Projekte oder Konfigurationen senden zu lassen, um die Probleme näher zu analysieren. Ein prima Service der definitv kompetent ist. Ebenfalls hochinteressant ist das Blog der Entwickler von Add-in Express. Dort werden interessante Artikel rund um die Addin-Entwicklung veröffentlicht.

Fazit

Wer häufig Addins für die Office-Familie entwickelt, sollte definitv einen Blick auf das beschriebene Produkt werfen. Die Lizenzkosten haben sich wahrscheinlich schnell amortisiert. Ein fantastischer Support und eine hervorragende Dokumentation erleichtern den Einstieg in die Addin-Entwicklung und sorgen für schnelle Erfolge. Ein Wehrmutstropfen bleibt. Trotz der Erleichterung durch Addin-Express für Standardaufgaben gibt es noch immer genug Aufgaben, die eigentlich auch Standard sind, die jedoch noch immer versionsabhängig und teilweise sehr umständlich programmiert werden müssen. So ist z.B. das Auslesen der echten EMail-Adresse des Absenders einer EMail in diversen Versionen von Outlook ein totaler Krampf. Abhängig davon, ob die EMail über einen Exchange-Server geschickt wurde oder nicht, muss anders vorgegangen werden und die Abfragen unterscheiden sich sehr stark zwischen den Outlook Versionen. Ich meine, da hätte man ja natürlich auch nicht mit rechnen können, dass man so eine exotische Aufgabe einmal machen muss....
Wie bereits angekündigt, werde ich sicher in einiger Zeit nochmal einen Folgebericht schreiben. Bereits jetzt könnt Ihr Euch schon auf mein nächstes Outlook-Addin freuen. SmartSave werde ich in ein paar Wochen online stellen und bei der Entwicklung musste ich mich dank Add-in Express nicht um langweilige Oberflächenprogrammierung kümmern.
Ein großes Dankeschön dafür von mir nach Weißrussland!

 
Kommentare (1)
Sehr nützlich
1 Freitag, den 17. Juli 2009 um 11:55 Uhr
Steffen
Genau so etwas habe ich für ein kleines Projekt in meiner Firma gesucht, vielen Dank für den Tipp.

Kommentar hinzufügen

Ihr Name:
Titel:
Kommentar:
  Sicherheitscode zur Prüfung. Nur Kleinschreibung. Keine Leerzeichen.
Sicherheitscode-Prüfung: