Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

24.05.2007

Office-Tools für smarte Dokumente

Ralf Nebelo 
Mit den Werkzeugen Visual Studio und Sharepoint lassen sich anspruchsvolle Büroapplikationen schreiben. Sie bieten mehr als VBA, sind aber nicht billig.

Die aktuelle Version von Microsofts Office-Paket bringt eine Vielzahl Features mit sich, die sich ganz klassisch mit VBA und anderen COM-basierenden Entwicklungs-Tools beherrschen lassen. Ein neues Oberflächenkonzept, "smarte" Dokumente, effizienzsteigernde Teamfunktionen und nicht zuletzt stark gestiegene Sicherheitsanforderungen lassen jedoch einen baldigen Werkzeugwechsel angebracht erscheinen.

Hier lesen Sie ...

Ob und wie sich vorhandene Office-Lösungen weiterhin nutzen lassen;

wie sich künftige Office-Lösungen in die neue Oberflächenarchitektur integrieren lassen;

welche Vorteile der Wechsel von VBA auf die Visual Studio Tools for Office bringt;

wie Smart Documents die Arbeitseffizienz steigern und wie sie sich realisieren lassen;

wie sich Sharepoint-Webs und Workflows ganz ohne Code anpassen oder erstellen lassen.

Mehr zum Thema

592580: Office-Serie Teil 1: Was sich für Anwender ändert;

592945: Office-Serie Teil 2: WAs die Dateiformate bieten;

1219184: Kampfansage an die Open-Source-Konkurrenz;

592872: Word-Texte am Mac lesen;

592707: Google greift Microsoft im Softwaregeschäft an.

COM-Architektur

Angesichts der euphorischen Ankündigungen, die dem Erscheinen von Office 2007 vorausgingen, hätte man durchaus denken können, Microsoft habe sein Büropaket völlig neu erfunden – respektive neu programmiert – und es dabei gleich auf ein zukunftssicheres .NET-Fundament gestellt. Ein Blick unter die Haube beweist aber, dass der Anwender es immer noch mit einer Suite von Büroanwendungen zu tun hat, die zwar deutlich mehr Funktionen bietet, aber noch immer auf der COM-Architektur aufsetzt.

Das mag aus technischer Sicht enttäuschend sein, bedeutet aber zunächst einmal nichts anderes, als dass zahllose Office-Lösungen, die in Gestalt von "makrohaltigen" Dokumenten und Vorlagen sowie VBA- und COM-Add-ins für frühere Versionen des Büropakets entwickelt wurden, weiterhin funktionieren. Um Abwärtskompatibilität zu gewährleisten, hat Microsoft in die neue Menüstruktur die Registerkarte Add-ins eingebettet.

Diese fasst die Menü- und Symbolleistenanpassungen aller derzeit aktiven Dokumente und Add-ins an einem Ort zusammen. Dies schafft aber eine völlig neue Bediensituation, wo Menübefehle aus dem Zusammenhang gerissen werden, sich Symbolleisten nicht mehr verschieben beziehungsweise andocken lassen oder gewohnte Tastenkürzel versagen. Angesichts der konsequenten Renovierung der Office-Oberfläche erscheint diese Kompatibilitätskrücke aber als vertretbarer Kompromiss zwischen Fortschritt und Investitionsschutz.

Apropos interessante neue Funktionen: Wer bereits mit den Schnellbausteinen in Word, den Datenleisten in Excel, mit Smartart-Grafiken oder der nun Office-weit verfügbaren und zum Showtalent avancierten Diagramm-Engine gearbeitet hat, möchte diese (und viele weitere) Neuerungen natürlich auch gern für neue Office-Lösungen verwenden – was sich dank kräftig erweiterter Objektmodelle mit dem guten alten VBA und jedem anderen COM-fähigen Entwicklungs-Tool realisieren lässt. Den Neuzugängen in den Objektbibliotheken stehen allerdings auch einige "ausgeblendete", das heißt nicht mehr unterstützte Objekte respektive Objekteigenschaften gegenüber. Zu den prominentesten Abgängen dieser Art gehört die Filesearch-Eigenschaft des Application-Objekts, die die simple Programmierung einer Dateisuchfunktion ermöglichte und in zahlreichen Lösungen zum Einsatz kam. Ihr unerwartetes Hinscheiden und die Suche nach Alternativen dürfte Office-Entwicklern wohl so manche Überstunde bescheren.

Symbolleisten bauen

Über das "CommandBars"-Objekt und seine diversen Untergebenen lassen sich wie gehabt auch neue Menüs und Symbolleisten programmieren, die dann jedoch ausschließlich in der erwähnten Registerkarte Add-Ins erscheinen. Wer die Funktionen seiner Lösung auch in die übrigen Befehlsregisterkarten der Multifunktionsleiste integrieren und somit weitaus bedienungsfreundlicher präsentieren möchte, muss sich von CommandBars ab- und dem neuen RibbonX-API zuwenden. Das setzt auf eine strikte Trennung von Code und Oberflächendesign, was die Anwendung vor schlecht programmierten oder übelwollenden Add-ins schützt, leider aber auch eine codegesteuerte Generierung von Oberflächenelementen (außerhalb des Add-ins-Registers) ausschließt. Stattdessen muss der VBA-Entwickler unter anderem eine XML-Datei namens customUI.xml verfassen und sie dem ZIP-Container, der nun die Office-Dokumente beherbergt, hinzufügen. Die XML-Datei beschreibt in speziellen Tags die Struktur, Position und das Aussehen der anzulegenden RibbonX-Controls und weist ihnen jeweils ein VBA-Makro zu, das in dem Dokument beziehungsweise Add-in gespeichert ist.

Visual Studio Tools for Office

Die Office-interne Programmiersprache VBA stößt zunehmend an ihre Grenzen. Ihr größtes Handicap ist die mangelnde Sicherheit. Aus Entwicklersicht ist an VBA vor allem der mangelnde Schutz von Quellcodes zu bemängeln, der sich empörend leicht aushebeln und noch einfacher umgehen lässt. Außerdem fehlt es an einer effektiven Quellcode-Verwaltung, was die Überwachung und Einhaltung von Programmierstandards erschwert. Ein weitaus mächtigeres Tool ist Microsofts Visual Studio Tools for Office (VSTO). Dabei handelt es sich um eine spezielle und mit rund 1000 Euro nicht gerade billige Version von Visual Studio mit Office-spezifischen Erweiterungen. Entwickler können damit sowohl dokumenten- als auch anwendungsbasierende Lösungen für alle Office-2007-Applikationen mit Ausnahme von Access bauen. Die Visual Studio Tools kombinieren den VBA-typischen Zugang zu sämtlichen Office-Objekten mit den ungezählten Funktionen des .NET-Frameworks, was unterm Strich ein gewaltiges Problemlösungspotenzial ergibt.

Da es sich bei .NET-Lösungen stets um verwalteten Code handelt, der vor der Ausführung Zeile für Zeile auf seine Berechtigung überprüft wird, kommt auch die Sicherheit nicht zu kurz. Die separate Speicherung des Codes in kompilierten DLLs und die Möglichkeit der Verschlüsselung sorgen zudem für einen wirksamen Schutz vor Diebstahl von Entwickler-Know-how. Und schließlich lassen sich VSTO-Lösungen auf bequeme Art bereitstellen und durch vollautomatische Updates stets auf dem neuesten Stand halten, was auch den Administrator freuen wird.

Erweiterte Dokumente

Zu den vielen praktischen Vorzügen der Visual Studio Tools gehört eine im Vergleich zu VBA deutlich erleichterte Anpassung der Multifunktionsleiste. Ein paar Mausklicks genügen, und schon findet sich ein echter RibbonX-Button in der Befehlsregisterkarte seiner Wahl, dem man über eine Ereignisprozedur die gewünschte Funktionalität zuweisen kann. Einen grafischen Oberflächen-Designer, wie er für komplexere Anpassungen wünschenswert wäre, enthält aber wohl erst die nächste Visual-Studio-Ausgabe mit dem Codenamen "Orcas".

Mit der aktuellen VSTO-Version können Anwender bereits Smart Documents herstellen. Das sind Office-Dokumente, die der Entwickler zum Nutzen des Anwenders um diverse Problemlösungskomponenten erweitert hat. Eine davon ist ein maßgeschneiderter Aufgabenbereich, der dem User Aktionsmöglichkeiten oder Informationen bereitstellt, die zum jeweiligen Inhalt des Dokuments passen. Damit lässt sich Outlook beispielsweise zu einem vollwertigen Kontakt-Manager ausbauen, der zu jeder E-Mail weiterführende Informationen aus einer Datenbank – eine Übersicht aller bisherigen Bestellungen des Absenders etwa – präsentiert. Mit Hilfe der Visual Studio Tools erledigen Entwickler das Design des Aufgabenbereichs und die Integration der benötigten Datenquelle überwiegend mit der Maus. Neben der dokumentenbasierenden Anpassung des Aufgabenbereichs ("Actionpanes") gestattet es Office 2007, den Aufgabenbereich auf Anwendungsebene zu gestalten. Träger einer solchen "Custom Taskpane" ist dann allerdings kein Dokument, sondern ein mit VSTO programmiertes Add-in.

Smarttags sind ein weiterer Bestandteil "smarter Dokumente". Die identifizieren bestimmte Inhalte im Text eines Office-Dokuments und stellen dem Anwender über ein Popup-Menü inhaltsspezifische Aktionen zur Verfügung. Ein nützliches Smarttag könnte etwa Rechnungsnummern in E-Mails oder Word-Dokumenten erkennen und dem Sachbearbeiter die dazu passenden Buchungsinformationen liefern, was den Arbeitsaufwand bei der Bearbeitung von Kundenanfragen deutlich verringert. Mit den Visual Studio Tools lassen sich solche Smarttags, die für die Identifikation von Inhalten unter anderem reguläre Ausdrücke aus dem .NET-Fundus verwenden, einfach realisieren.

Office im Team – Sharepoint

Für die teamorientierte Nutzung von Office 2007 steht eine neue Sharepoint-Technik bereit, die vollständig auf ASP.NET und dem .NET-Framework 3.0 basiert. Die bisherige Trennung in die kostenlosen Sharepoint-Services für die grundlegenden Funktionen Dokumentverwaltung, Web-Seiten-Erstellung etc. und den kostenpflichtigen Microsoft Office Sharepoint Server (MOSS) für erweiterte Features bleibt allerdings erhalten. Letzterer stellt in der Version 2007 unter anderem die neuen Excel-Services zur Verfügung, die das Laden und Berechnen von Excel-Tabellen sowie das Rendering von Diagrammen auf Servern ermöglichen. Ein Web-basierendes Interface erlaubt hier Excel-Tabellen in einem Browser darzustellen, während ein Web-Service die Programmierschnittstelle bildet.

Der ebenfalls neue Sharepoint Designer ist das wichtigste Entwicklungswerkzeug für Sharepoint 2007. Das separat erhältliche und rund 400 Euro teure Tool erlaubt anders als Frontpage etwa das direkte Öffnen eines Sharepoint-Web über die Angabe der URL. Der Entwickler muss also nicht mehr wissen, ob die beteiligten Seiten lokal, auf einem anderen Rechner oder in einer Datenbank gespeichert sind. Über die Definition von Master-Pages ist es möglich, Designelemente an viele Webseiten zu vererben und den Aufwand für nachträgliche Änderungen damit drastisch zu reduzieren.

Zudem eignet sich der Sharepoint Designer dazu, Workflows für Urlaubsanträge, Unterschriftenlisten oder Freigaben zu definieren. Das funktioniert ganz ohne Code, indem man sich den Ablauf aus vorhandenen Aktivitäten zusammenklickt und die notwendigen Parameter jeweils im Dialog bestimmt. Dank der Vereinfachung lässt sich die Workflow-Definition jetzt auch an erfahrene Anwender übertragen. Den Entwickler und Visual Studio braucht es in diesem Szenario nur noch, wenn das Arsenal der mitgelieferten Aktivitäten erweitert werden muss.

Fazit

Aus Entwicklersicht ist der Office-Kosmos wieder ein Stück komplexer geworden. Viele neue Funktionen von Office 2007 erhöhen die Anzahl programmierbarer Objekte, während gleichzeitig eine völlig neue Oberflächenarchitektur grundlegend andere Verfahren zur Integration von selbstentwickelten Lösungen erfordert. Beide Anforderungen lassen sich so gerade noch mit vertrauten Werkzeugen wie dem kostenlosen VBA bewältigen.

Wer jedoch gesteigerten Wert auf Sicherheit legt, Arbeitsabläufe mit Hilfe von Smart Documents wesentlich effektiver gestalten oder maßgeschneiderte Teamfunktionalitäten realisieren will, braucht ab sofort neue .NET-basierende Werkzeuge für die Office-Entwicklung, wie sie mit den Visual Studio Tools und dem Sharepoint Designer zur Verfügung stehen. Deren Professionalität und Bedienungskomfort lässt sich Microsoft allerdings auch sehr gut bezahlen. (fn)