Coole Tricks für Openoffice - Makros programmieren leicht gemacht
Das UNOversum, unendliche Weiten. Wir schreiben das Jahr 2009. Dies sind die Abenteuer eines Anwenders, der mit grundlegenden Basic-Kenntnissen unterwegs ist, um die Geheimnisse der OpenOffice-Programmierung zu entdecken. Viele Lichtjahre von VBA entfernt dringt der Mensch in Galaxien vor, die ein "normaler" User nie zu Gesicht bekommt.
- Coole Tricks für Openoffice - Makros programmieren leicht gemacht
- Jenseits vom Horizont
- Kontextabhängige Dienste
- Immer dialogbereit
- Alles gesammelt
Mit dem Erscheinen der rundum gelungenen Version 3.1 hat sich OpenOffice endgültig als "zweite Kraft" im Office-Markt etabliert. Das Programmpaket kann so ziemlich alles, was Microsoft Office kann, und setzt auf ein bewährtes Bedienkonzept, das vielen Anwendern besser gefällt als Ribbons (Multifu...
Mit dem Erscheinen der rundum gelungenen Version 3.1 hat sich OpenOffice endgültig als "zweite Kraft" im Office-Markt etabliert. Das Programmpaket kann so ziemlich alles, was Microsoft Office kann, und setzt auf ein bewährtes Bedienkonzept, das vielen Anwendern besser gefällt als Ribbons (Multifunktionsleisten). Was die Erweiterbarkeit durch Makros respektive Extensions betrifft, hinkt das kostenlose Office dem Markführer allerdings kräftig hinterher. Das liegt im Wesentlichen an einem völlig anderen Programmierkonzept, das UNO heißt und den meisten Makroentwicklern in spe wie das berühmte Buch mit sieben Siegeln erscheint. Dabei ist das Leben im UNOversum eigentlich gar nicht so kompliziert. Man braucht nur ein wenig Hilfe für den Einstieg.
Lift off
Für Anwender, die bereits Makros für Microsoft Word & Co. geschrieben haben, beginnt die Reise mit einer positiven Nachricht: Es gibt keine Sprachbarriere! Beide Office-Suiten verwenden Basic als eingebaute Programmiersprache. Sprechen Sie Basic? Dann hier ein erstes OpenOffice-Makro:
Sub HalloUserDim strName As StringstrName = InputBox("Wie heißen Sie?")If strName > "" ThenMsgBox "Hallo, " & strName & "!"End IfEnd Sub

Das Makro, das in absolut identischer Form auch in Microsoft Office funktionieren würde, fragt den Namen des Anwenders per InputBox-Anweisung ab, speichert diesen in der Variablen strName und zeigt deren Inhalt im Rahmen einer freundlichen Begrüßung per MsgBox-Anweisung an.
Sprachtest bestanden? Dann fragen Sie sich vielleicht, wo Sie den Quelltext eines Makros "hinschreiben" müssen, um ihn ausführen zu können. Die Antwort beginnt in jedem Fall und jeder OpenOffice-Anwendung mit dem Befehl Extras/Makros/Makros verwalten/OpenOffice.org-Basic. Das weitere Vorgehen hängt davon ab, ob Sie das Makro global aus allen Dokumenten heraus nutzen möchten oder nur lokal in einem einzelnen Dokument.
Im Fall eines globalen Makros öffnen Sie im linken Listenfeld des Dialogs den Zweig Meine Makros durch einen Klick auf das Pluszeichen. Markieren Sie die Bibliothek Standard, und klicken Sie auf die Schaltfläche Neu. OpenOffice legt nun in dem Basic-Modul Module1 ein neues (leeres) Makro an.
Zum Anlegen eines lokalen Makros klicken Sie auf das Pluszeichen vor dem Namen des geöffneten Dokuments, in dem Sie das Makro verwenden möchten. Markieren Sie die Bibliothek Standard, und klicken Sie auf die Schaltfläche Neu. Sofern die Bibliothek noch kein Basic-Modul enthält, legt OpenOffice von sich aus eines an und erstellt darin ein neues Makro, das wie jedes neue Makro einen Standardnamen wie "Macro1", "Macro2" etc. erhält.
Egal, ob lokal oder global: Sie sollten diese nichtssagende Bezeichnung auf jeden Fall mit einem sprechenden Namen überschreiben, der die Funktion des Makros hinreichend beschreibt. Die Länge des Namens ist nicht begrenzt.
Er darf aber nur Buchstaben, Ziffern und Unterstriche ("_") enthalten. Umlaute und andere Sonderzeichen der deutschen Sprache sind nicht erlaubt. Ist der Basic-Editor von OpenOffice bereits geöffnet, können Sie ein Makro auch direkt in das Basic-Modul schreiben oder aus der Zwischenablage übernehmen.
Zum Starten verwenden Sie den Befehl Extras/Makros/Makro ausführen und klicken sich im linken Listenfeld bis zu der Bibliothek durch, die das gewünschte Makro enthält. Markieren Sie dessen Namen im rechten Listenfeld, und wählen Sie Ausführen.