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 12/2014: ANONYM & SICHER

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...