Aufmacher

Automatikgetriebe

Einstieg in die Makroprogrammierung

01.03.2008
Makros automatisieren wiederkehrende Tätigkeiten in OpenOffice. Schon mit wenigen Zeilen Programmcode hört im virtuellen Büro alles auf Ihr Kommando.

Einen schnellen Überblick über die in OpenOffice vorhandenen Schriftarten verschaffen Sie sich über die Auswahlliste in der Format-Symbolleiste. Die fällt jedoch ziemlich klein und auch nicht besonders anschaulich aus (Abbildung 1). Hilfreicher wäre da eine ausführliche Schriftprobe der Fonts, die man ausgedruckt auf den Schreibtisch legen könnte. Dafür aber bietet OpenOffice keine Funktion. Kein Problem: Mit der Skriptingsprache des Büropakets rüsten Sie die fehlende Funktion schnell nach.

Abbildung 1: Die Vorschau auf die Office-Schriften ist nicht besonders aussagekräftig.

Für das Erweitern von OpenOffice um spezielle Funktionen verwenden Sie Makros. Dabei handelt es sich um eine Folge von Aktionen oder Befehlen, die OpenOffice nacheinander ausführt. Ein Makro erstellen Sie am einfachsten mit dem Makrorekorder, der Ihre Mausbewegungen und Tastatureingaben aufzeichnet und anschließend beliebig oft wiedergibt. Alternativ schreiben Sie den Code des Makros direkt in einer von drei Programmiersprachen: Derzeit unterstützt das freie Büropaket Python, Javascript und das beliebte, weil leicht zu erlernende OpenOffice.org Basic (OOoBasic). Diese Skriptsprache ist speziell auf die Fernsteuerung der einzelnen Büroanwendungen zugeschnitten und ähnelt in vielen Punkten Visual Basic for Applications (VBA) von Microsoft Office, sodass sich Umsteiger schnell zurechtfinden. Allerdings sind mit diesen beiden Basic-Varianten geschriebene Skripte inkompatibel; VBA-Skripte funktionieren in OpenOffice genauso wenig wie OOoBasic-Anweisungen in Microsoft Office.

TIPP

OpenOffice Basic ist komplett identisch mit StarOffice Basic. Alle hier gezeigten Schritte funktionieren daher in beiden Bürosuiten gleichermaßen.

Schnellstart

Zugang zur Welt der Makros verschafft in allen Office-Anwendungen das Untermenü Extras | Makros. Gleich der erste Punkt, Makro aufzeichnen, startet den schon erwähnten Makrorekorder. Das Aufzeichnen der Aktionen geht zwar für wiederkehrende Tätigkeiten schnell über die Bühne, taugt aber für dynamische Befehlsfolgen nur wenig. Richtige Basic-Programme erstellen Sie am besten in der dafür vorgesehenen Entwicklungsumgebung.

Die finden Sie über Extras | Makros | Makros verwalten. Dahinter steckt ein weiteres Untermenü, das alle Programmiersprachen auflistet, in denen Sie OpenOffice Anweisungen erteilen dürfen. Entscheiden Sie sich mit uns für OpenOffice.org Basic; dann sehen Sie anschließend das Fenster, das die Verwaltung und Organisation aller mitgelieferten und selbstgeschriebenen Makros übernimmt (Abbildung 2).

Abbildung 2: Über dieses unspektakuläre Fenster verwaltet OpenOffice die in Basic geschriebenen Makros. Das schon vorhandene, aber noch leere Makro Main lädt zum Ausprobieren ein.

Direkt unter Makroname finden Sie das gerade markierte Makro. Klickten Sie auf Ausführen..., startet es ohne weitere Nachfrage. Die beiden Listen Makro aus und Vorhandene Makros in... bringen etwas Ordnung in die Fülle der vorhandenen Codeschnipsel, allerdings ist das Gliederungssystem etwas gewöhnungsbedürftig.

Zunächst sammelt OpenOffice alle zusammengehörenden Makros in einem so genannten Modul, von denen es wiederum mehrere in einer Bibliothek archiviert. Für gewöhnlich widmet sich jede Bibliothek einem eigenen Themenbereich, beispielsweise der Euro-Umrechnung, während ein Modul alle Makros bündelt, die gemeinsam eine spezielle Aufgabe erledigen.

Eine Bibliothek können Sie prinzipiell an einem von drei verschiedenen Orten speichern:

  • Die unter Meine Makros gelagerten Skripte sehen nur Sie selbst.
  • Unter OpenOffice.org Makros stecken alle Makros, die jeder Benutzer der OpenOffice-Installation verwenden kann. Ein Klick auf das Pluszeichen enthüllt, dass OpenOffice bereits zahlreiche Makros für unterschiedliche Zwecke mitbringt.
  • Schließlich darf man Makros noch in eine Vorlage oder das aktuelle Dokument einbetten (in Abbildung 3 als Unbenannt1 bezeichnet, weil noch nicht gespeichert).

Legen Sie ein Makro direkt in einem Dokument ab, steht es allerdings nur für dieses eine, geöffnete Dokument zur Verfügung. Daher spricht man auch von einem lokalen Makro. Ein globales Makro dagegen lässt sich aus allen Dokumenten heraus nutzen.

Ein Klick auf eines der Pluszeichen bei Makro aus zeigt Ihnen alle dort verwendeten Bibliotheken. Für Ihre eigenen Makros steht Ihnen unter Meine Makros bereits die Bibliothek Standard zur Verfügung, die das Module1 enthält. Sobald Sie ein solches Modul auswählen, zeigt rechts die Liste Vorhandene Makros in: alle darin enthaltenen Makros. Markieren Sie dort eines, können Sie es mit den Schaltflächen am rechten Rand Ausführen, Bearbeiten, Löschen oder der Tastatur und Symbolleisten Zuordnen. Wie Sie ein bestehendes Makro in ein Menü einbinden oder schnell via Tastenkürzel aktivieren, lesen Sie im Kasten "Makros schneller ausführen". Möchten Sie eigene Bibliotheken und Module anlegen, hilft das Fenster hinter Verwalten... weiter.

Makros schneller ausführen

Um ein Makro zu aktivieren, müssen Sie sich normalerweise umständlich durch mehrere Menüs hangeln. Alternativ können Sie ein Makro aber auch über eine Formular-Schaltfläche aktivieren, ihm einen eigenen Menüpunkt zuordnen, es per Tastenkürzel aufrufen oder als Symbol in eine der Symbolleisten packen. Dazu wechseln Sie zunächst in das Menü Extras | Anpassen – die Schaltfläche Zuordnen im Makro-Dialog führt ebenfalls dorthin. Allerdings fehlt in der Version 2.3.0 von OpenOffice dort aus unerfindlichen Gründen das Register für die Tastenkombinationen.

Möchten Sie das Makro in ein Menü oder eine Symbolleiste integrieren, wechseln Sie zunächst in das entsprechende Register (Abbildung 3). Wählen Sie dort das Menü, beziehungsweise die Symbolleiste, in der das Makro später auftauchen soll, und klicken Sie anschließend auf Hinzufügen. Fahren Sie in der Liste Bereich ans Ende, wählen unter OpenOffice.org Makros ein Modul und dann rechts unter Befehle das passende Makro aus. Hinzufügen bringt dieses Makro dann in das Menü oder die Symbolleiste. Bei einer Tastenkombination wechseln Sie auf das Register Tastatur. Markieren Sie unter Tastenkombinationen diejenige, welche Sie für das Makro verwenden möchten. Als nächstes suchen Sie im Feld Bereich unter OpenOffice.org Makros das Modul und wählen das gewünschte Makro in der Liste Funktion aus. Ein Klick auf Ändern weist die Tastenkombination dem Makro zu.

Möchten Sie Ihr Makro in einem Dokument an andere weitergeben, bietet sich der Aufruf über eine Formular-Schaltfläche an (Abbildung 4). Um solch einen Knopf zu erzeugen, schalten Sie zunächst über Ansicht | Symbolleisten | Formular Steuerelemente die Palette mit den Formular-Steuerelementen ein. Wählen Sie das Symbol für eine Schaltfläche und ziehen Sie im Textdokument eine solche auf. Mit einem Doppelklick öffnen Sie die Eigenschaften des Schalters. Wechseln Sie dort auf das Register Ereignisse und klicken auf die drei Punkte hinter Beim Auslösen. Weiter geht es über Makro... in ein neues Fenster, in dem Sie das passende Makro auswählen. Mit zweimal Ok schließen Sie diese Zuordnung ab. Über das rechte Symbol in der ersten Reihe verlassen Sie den Entwurfsmodus des Formular-Editors. Dann ist die Schaltfläche einsatzbereit.

Abbildung 3: Über das Fenster Anpassen binden Sie ein fertiges Makro in ein Menüpunkt ein, ordnen es einer Tastenkombination zu oder hieven es in eine Symbolleiste.
Abbildung 4: Jeder Schaltfläche in einem Formular dürfen Sie in den Eigenschaften ein Makro zuweisen. Ein Klick auf den Knopf startet dann dieses Makro.

Entwicklungshilfe

Um ein neues Makro zu erstellen, wählen Sie zunächst in der linken Liste ein Modul dafür aus und geben anschließend dem Skript im Feld Makroname einen Namen – beispielsweise AlleSchriften. Ein Klick auf Neu legt das Makro an und öffnet gleichzeitig die in OpenOffice integrierte Basic-Entwicklungsumgebung. Hier landen Sie übrigens auch, wenn Sie ein bestehendes Makro Bearbeiten.

Das Fenster aus Abbildung 5 zeigt sämtliche Makros eines Moduls an. Jedes Makro beginnt mit Sub Makroname, dann folgen die eigentlichen Basic-Befehle, deren Ende ein End Sub kennzeichnet. In Abbildung 6 sehen Sie zwei Makros: Einmal das bereits existierende mit dem Namen Main und das gerade erzeugte mit dem Namen AlleSchriften. In beiden Fällen fehlen noch weiteren Befehle, also bleibt es folgenlos, wenn Sie die Makros ausführen.

Abbildung 5: Das Bearbeitungsfenster für Basic-Makros. Das Fenster listet alle Makros eines Moduls auf (hier sind es nur zwei).

TIPP

OpenOffice selbst nennt alles, was zwischen Sub und End Sub seht, ein Makro. Genau genommen handelt es sich dabei jedoch um eine so genannte Subroutine oder Prozedur. Ein Makro besteht eigentlich aus einer oder mehreren dieser Subroutinen, die sich gegenseitig aufrufen und starten dürfen.

Alle Zeilen, die mit REM oder mit einem Hochkomma ' beginnen, ignoriert OpenOffice beim Ausführen. Das sollten Sie nutzen, um Ihre Programme immer möglichst ausführlich kommentieren: Zum einen erleichtert das die Navigation in längeren Befehlspassagen, zum anderen ruft es auch nach längerer Zeit wieder schnell in Erinnerung, was im Code passiert.

Damit steht das Grundgerüst für Ihr Makro. Hilfe erhalten Sie jederzeit über das Menü Hilfe | OpenOffice.org Hilfe. Dort finden Sie eine Liste mit allen möglichen Befehlen; wählen Sie auf dem Register Inhalte den Eintrag Makros und Programmierung | Befehle | Alphabetische Liste.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Power-Makros
    Die ersten zwei Teile der Workshop-Reihe haben Ihnen die Grundlagen der Makroprogrammierung vorgestellt. In dieser Ausgabe zeigen wir einige Spezialfunktionen und stellen auch den VBA-Support vor.
  • Tabellenprogrammierer
    OpenOffice Calc ist eine mächtige Tabellenkalkulation, die zahlreiche eingebaute Funktionen fürs automatische Berechnen von Zelleninhalten hat. Mit StarBasic-Programmen erweitern Sie die Standard-Features.
  • StarBasic
  • Basic-Skripte in LibreOffice Calc
    Die Tabellenkalkulation LibreOffice Calc eignet sich besonders gut für den Einstieg ins Programmieren, denn wer schon mit Formeln in Tabellen umgehen kann, hat bereits den halben Weg zum Programmierer zurückgelegt. Hier zeigen wir Ihnen den Rest des Wegs.
  • Das kostet Ihr Leben
    Miete, Versicherungen, Steuern – jeder langt gern in Ihre Tasche. Das lässt sich in vielen Fällen nicht verhindern. Umso sinnvoller ist es, Einnahmen und Ausgaben im Blick zu haben. Denn so sehen Sie sofort, wohin das meiste Geld verschwindet und wo Sie sparen können.
Kommentare

Infos zur Publikation

LU 07/2015: Daten sichern

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 0 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 0 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...