Suites und Office-Pakete/Tuecken der Programmierung in Office- Paketen Oberflaechenkosmetik ersetzt die grundlegende Angleichung

01.09.1995

Von Edgar Koribalski*

Viele Anwendungen in Office-Paketen lassen sich zusaetzlich zu den Standard-Features individuell programmieren. Zum Leidwesen der User aber besitzen nicht nur die Pakete selbst, sondern auch ihre Komponenten unterschiedliche Sprachen. Ausserdem gibt es von Version zu Version staendig Aenderungen und Neuerungen. Die Hersteller versprechen jedoch Abhilfe.

Bei allen Bemuehungen der Anbieter um eine einheitliche Optik der Office-Pakete scheint bisher wenig Zeit verblieben zu sein, um mehr als nur das Design von Verpackung, Handbuechern, Disketten und Benutzeroberflaechen anzugleichen. Die Makrosprachen innerhalb der Pakete fuehren immer noch ein Eigenleben. Ankuendigungen ueber einheitliche Sprachen gibt es zuhauf, die Wirklichkeit sieht jedoch noch ziemlich zusammengewuerfelt aus. Das erste Beispiel liefert die Firma Lotus, die in der Tabellenkalkulation Lotus 1-2- 3 eine der ersten Makrosprachen eingesetzt hat. Sie verwendet diese - in erweiterter Form - auch heute noch in Lotus 1-2-3. Ami Pro, das urspruenglich von Samna entwickelte, dann von Lotus gekaufte und weiterentwickelte Textsystem, besitzt eine ganz andere Makrosprache. Auch die zugekaufte Datenbank Approach als Bestandteil des Lotus-Pakets Smartsuite hat mit den anderen Produkten in Richtung Programmierung nicht viel gemein.

Dies waere grundsaetzlich nicht weiter hinderlich, wuerde der Anwender nur in einer der Anwendungen programmieren. Sobald er aber in mehreren Programmen Makros schreibt, ist er jedesmal mit einer neuen Syntax konfrontiert. So reicht es nicht mehr, die Befehle zu lernen. Der User muss beim Programmieren ausserdem wissen, bei welcher Software welche Syntax zu verwenden ist.

Viele Begriffe fuer eine Meldung

Allein die Aufgabe, eine Meldung auf den Bildschirm zu zaubern, kann schon reichlich arbeitsaufwendig sein. So heisst der entsprechende Befehl bei Microsofts Office an einer Stelle in Access "Meldung" und an einer anderen jedoch "MsgBox", in Word nur "MsgBox" und in Excel "MeldungsDlg" oder wahlweise "MsgBox". Zudem sind die optionalen Parameter in ihrer Reihenfolge verschieden. Titel, Meldung, Art der Box, Symbole und aehnliches mehr geben dann wohl jedem den Rest, der nicht von morgens bis abends programmiert.

Sollte der Anwender tatsaechlich erst einmal alle Befehle eines Office-Pakets gelernt haben, wird er wohl selten die Lust verspueren, in einer Anwendung eines anderen Herstellers zu programmieren, wo die gleiche Aktion - diesmal zum Beispiel ueber den Befehl "Message" - mit wieder anderen Parametern zu versehen ist.

Auch die versionsuebergreifende Programmierung ist nur sehr schwer moeglich, denn in Updates werden regelmaessig neue, maechtigere Funktionen eingefuehrt und alte teilweise nicht mehr vollstaendig unterstuetzt. Programmierer nutzen diese neuen Moeglichkeiten gerne, um die Leistungsfaehigkeit ihrer Produkte zu erhoehen. Und so bleibt allen Anwendern, die in den Genuss von Fremdprogrammen kommen wollen, nichts anderes uebrig, als regelmaessig auf die neuesten Versionen umzustellen. Andererseits wird es dann in einigen Faellen passieren, dass Programme der Vorgaengerversion erst ueberarbeitet werden muessen, um auch auf dem neuen Update wieder zu funktionieren.

So reden alle Anbieter erheblich lieber ueber die bald kommenden neuen Loesungen als ueber real existierende Produkte. Umstellungsprobleme gibt es laut Werbeaussagen schlichtweg nicht. Um den Verkauf der Office-Pakete anzukurbeln, scheint es aus der Sicht der Marketing-Strategen wohl gewinnbringender zu sein, noch hundert neue Features dazuzupacken, als sich um einheitliche und ausgefeilte Programmiersprachen zu kuemmern.

Einige Hersteller versuchen sogar, Anwender dadurch zum Kauf zu verlocken, dass sie behaupten, echte Programmiersprachen und nicht etwa Makrobefehle in ihren Anwendungen einzusetzen. Es scheint, dass "Programm" sich professioneller als "Makro" anhoert. Allerdings gibt es keine klar definierte Unterscheidung zwischen diesen Begriffen. Microsoft nennt in Deutschland Visual Basic (VB) ebenso wie Visual Basic for Applications (VBA) Programmiersprachen, in den USA wird VBA dagegen als Makrosprache bezeichnet. Die Verwirrung ist also programmiert, klare Begriffsdefinitionen sind nicht in Sicht.

Konkrete Zahlen darueber, wie viele der Office-Kunden die mitgelieferten Makrosprachen ueberhaupt einsetzen, betrachten die Hersteller als Verschlusssache. Aber allzu viele koennen es nicht sein, setzte doch zum Beispiel der Herausgeber des deutschen Ami- Pro-Makrohandbuchs, die Lindner EDV-Beratung GmbH aus Krailling, nach eigenen Angaben bisher nur 1500 Ausgaben dieses Titels ab.

Eines der grossen Probleme der Hersteller in bezug auf die Programmiersprachen duerfte auch darin bestehen, dass es einfach keine optimale gibt. Unterschiedliche Anwender verlangen nach verschiedensten Eigenschaften, so dass eine Sprache allein die gar nicht erfuellen kann. Die beruehmte eierlegende Wollmilchsau ist auch in diesem Bereich nicht zu erwarten.

Die Anwender lassen sich grob in drei Gruppen unterteilen: solche ohne Programmierkenntnisse, Amateurprogrammierer und Profis.

Makro soll leicht zu handhaben sein

Fuer die grosse Gruppe der ganz normalen Anwender, die noch nie in ihrem Leben ein Programm gesehen, geschweige denn programmiert haben, soll ein Makro vor allem extrem leicht zu handhaben sein. Die gewuenschte Funktionalitaet beschraenkt sich auf die Aufzeichnung und spaetere Wiedergabe von Tastatur und Mausbefehlen. Dies ist in vielen Anwendungen ueber sogenannte Makrorekorder moeglich.

Diese einfache Art der Programmierung ist recht hilfreich, um haeufig wiederkehrende Aufgaben zu loesen. Ein solches Makro kann zum Beispiel folgende Funktion uebernehmen: Es schreibt unter das angezeigte Dokument "Mit freundlichen Gruessen" sowie den Absendernamen und druckt dieses anschliessend aus. Solch ein Makro stellt eine Arbeitserleichterung dar und funktioniert auch so lange tadellos, wie es in einer Umgebung eingesetzt wird, die der Aufnahmesituation aehnlich ist.

Problematisch wird es aber immer bei abweichenden Umgebungsbedingungen. Wenn beispielsweise ueberhaupt kein Dokument auf dem Bildschirm angezeigt wird, muss das Makro zwangslaeufig versagen. Im oben erwaehnten Beispiel wird dieses Versagen wahrscheinlich mit einer einfachen Fehlermeldung abgetan sein. Es kann aber durchaus passieren, dass unter unguenstigen Umstaenden Inhalte geloescht werden. Dies geschieht beispielsweise dann recht schnell, wenn ein Befehl nicht ausgefuehrt werden konnte, der anschliessende Makro-Tastaturbefehl ("[DEL]") aber alles das loescht, was eigentlich gar nicht mehr markiert gewesen sein sollte. Kommen dann noch nicht ordnungsgemaess beendete Schleifen dazu, kann das Makro auch schon mal das ganze Anwendungsprogramm lahmlegen - natuerlich ohne vorher alle Dokumente abgespeichert zu haben.

Debugger und Compiler fuer echte Entwickler

Um dies zu verhindern und all die moeglicherweise auftretenden Eventualitaeten geschickt zu meistern, sind als Minimum Amateurprogrammierer gefragt. Zur Vermeidung solcher Faelle ist es naemlich notwendig, Makros entweder nachzubearbeiten oder direkt zeilenweise zu programmieren. Kontrollstrukturen der Art "IF-THEN- ELSE" sind gefragt.

Echte Entwickler verlangen darueber hinaus nach Debugger und Compiler, um bei langen Programmen professionell auf Fehlersuche gehen zu koennen und ihre Meisterwerke gegen unbefugten Zugriff zu schuetzen.

Um allen potentiellen Programmierern gerecht zu werden, gibt es in einigen Anwendungen mehrere Sprachen. So besitzt Microsoft Access eine Makrosprache mit deutschen Befehlen und zusaetzlich eine englische Programmiersprache. Diese Eigenart kommt vor allem Neulingen zugute, die sich relativ schnell mit Klartextbefehlen wie "Suchen Datensatz" zurechtfinden. Professionelle Entwickler aber muessen sich fortwaehrend mit einem englisch-deutschen Kauderwelsch herumaergern, denn einige Aktionen im Programm sind nur ueber eingebundene Makrobefehle moeglich, die bei der Makroprogrammierung und im Handbuch deutsch erscheinen, bei der eigentlichen Programmierung aber englisch einzugeben sind.

Das Bemuehen, es allen recht machen zu wollen, fuehrt zu manch grausigen Stilblueten. Da gibt es zum Beispiel im Englischen die "Cancel"-Eigenschaft, den deutschen Microsoft-Uebersetzern fiel nichts Besseres ein, als diese mit "BeiTasteESC-Eigenschaft" zu uebersetzen. Microsoft hat nach internen Diskussionen Konsequenzen gezogen und liefert Office 95 nur noch mit englischer VBA- Programmiersprache aus. Es gibt allerdings weiterhin deutsche Makrobefehle.

Viele Experten sind sich darin einig, dass deutsche Makrosprachen nur in Zusammenhang mit der Steuerung von deutschen Menues ihre Berechtigung haben. Denn in diesen Faellen ist es sinnvoll, "Datei oeffnen" nicht mit "File open" zu uebersetzen. Andere Programmierer verwenden nur noch die englischen Produkte, um sich nicht mit eingedeutschten Befehlen herumschlagen zu muessen.

Mit Windows 95 soll bei einigen Herstellern der grosse Umbruch erfolgen: Lotus stellt alle Produkte auf Lotus-Script um, das schon jetzt in Notes Verwendung findet. Diese Programmiersprache kann zum Beispiel die Tastatureingaben des Anwenders waehrend der normalen Texteingabe ueberwachen und je nach getipptem Text verschiedene Aktionen starten.

Script wird aufgrund seiner Leistungsfaehigkeit von Profis mit viel Wohlwollen aufgenommen. Ami-Pro-Programmierer werden sich von der bisherigen Makrosprache auf Script allerdings erheblich umstellen muessen: Denn Script hat nichts mehr mit der bisherigen Makrosprache gemein und ist so komplex, dass "Hobbyprogrammierer sich erst gar nicht mehr damit beschaeftigen brauchen", wie es ein Experte auf den Punkt bringt.

Microsoft setzt weiter auf Visual Basic for Applications (in Englisch), und will diese Programmiersprache nicht nur fuer MS- Anwendungen zum Standard erheben. Word-Programmierer kommen noch nicht in den Genuss von VBA. In einer MS-Pressemitteilung vom Mai 1995 heisst es:

"In Word 95 wird Visual Basic fuer Applikationen noch nicht enthalten sein, eine Ansteuerung ueber OLE-Automation ist jedoch von ... (Excel, Project, Access) ... aus moeglich." Wer also nur in Word programmiert, darf sich auch weiterhin mit der sehr gewoehnungsbeduerftigen deutschen Makrosprache vergnuegen.

Da Microsoft mit VBA den Markt beherrscht, sind andere Unternehmen mittlerweile bemueht, sich zumindest grob an die Befehlssyntax von Visual Basic zu halten. Selbstverstaendlich gibt es aber auch kuenftig viele herstellereigene und anwendungsspezifische Befehle.

Programmierbarkeit ist nur ein Kriterium

Novell verkuendet vollmundig zu Perfect Office 3.0: "Perfectscript ist die erste anwendungsuebergreifende Skriptsprache und zieht sich durch alle Programme von Perfectoffice." Im gleichen Prospekt heisst es auch: "Durch Perfectscript koennen Sie Makros ueber mehrere Applikationen aufzeichnen und danach ablaufen lassen." Die in der Professional-Version enthaltene Datenbank Paradox besitzt jedoch paradoxerweise weiterhin die eigene Object-PAL-Sprache. Zusaetzlich aber gibt es fuer alle Anwendungen neben Perfectscript die Entwicklungsumgebung Appware.

Der Star-Office-Hersteller Star Division laesst sich durch die Probleme der Anwender mit dem Programmiersprachen-Wirrwarr nicht aus der Ruhe bringen und verweist auf Nachfrage darauf hin, dass in der zum Herbst versprochenen neuen Version eh alles besser sei.

Generelles Fazit: Die Entscheidung fuer oder gegen ein Office-Paket wird durch so viele Parameter bestimmt, dass die Programmierbarkeit nur ein Kriterium darstellt. Auch die Theorie hilft nur begrenzt weiter, denn einige Aufgabenstellungen lassen sich gar nicht programmieren, andere funktionieren anders, als im Handbuch beschrieben, und wieder andere funktionieren, obwohl sie laut Beschreibung eigentlich gar nicht existieren.

Der Amateurprogrammierer hat eigentlich nur die Moeglichkeit, sich mit einem Produkt genau zu beschaeftigen, um so die realen Optionen herauszufinden und nutzen zu koennen. Kennt er dann noch die wichtigsten Tricks und Schliche der einen Sprache, duerfte die Umstellung auf ein anderes Produkt kaum mehr in Erwaegung kommen. So bleibt nur zu hoffen, dass die Herstellerankuendigungen zu den kommenden Windows-95-Anwendungen tatsaechlich wahr werden - und auch entsprechend der Dokumentation funktionieren. Welche Sprachen sich langfristig durchsetzen, haengt aber bekanntlich nicht nur von deren Qualitaet, sondern von der zukuenftigen Marktentwicklung im Office-Bereich ab.

* Edgar Koribalski ist freier Journalist in Muenchen.