Home / LinuxUser / 2008 / 03 / Automatikgetriebe

Top-Beiträge

GIMP - Auswahl und Ebenen
(324 Punkte bei 38 Stimmen)
GIMP - Laserschwert
(322 Punkte bei 41 Stimmen)
Panorama ohne Weitwinkel
(272 Punkte bei 16 Stimmen)
Ein erstes Resümee
(247 Punkte bei 20 Stimmen)
Re: Mehrere Partitionen auf USB-Stick
(233 Punkte bei 9 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 8500 Shops,
3.1 Mio Artikel. Alle Bestseller, Gutscheine und Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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 replaceableMakroname, 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.

Aktuelles Heft bestellen
Kommentare
Einem Freund empfehlen    Druckansicht

638 Hits
Wertung: 36 Punkte (5 Stimmen)

Infos zum Autor

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter www.tim-schuermann.de.


Infos zur Publikation

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Schöneres Gnome mit Faenza
Schöneres Gnome mit Faenza
Marcel Hilzinger, 19.08.2010 14:49, 0 Kommentare

Wer seinen Desktop liebt, verpasst ihm ab und zu ein optisches Update. Sehr gut eignen sich dazu neue Fensterdekorationen, ein neues Farbschema und natürlich ein neues Symbolset. Ein besonders...

Aktuelle Fragen

SUSE und Windows parallel betreiben, reparieren des BOOTMANAGERS
oli m., 31.08.2010 10:17, 6 Antworten
ich betreibe XP, VISTA, W7 und SUSE parallel auf einer Festplatte. wenn ich SUSE als letztes ins...
kmail link verweist auf firefox, umstellung wieder auf konqueror ???
oli m., 31.08.2010 10:06, 2 Antworten
seit firefox mit suse installiert wird, startet ein link in einer email automatisch auch firefox....
SUSE 11.3 - nvidia 9800GT+ - DUALMONITOR Installation/Einstellung
oli m., 31.08.2010 09:57, 2 Antworten
Grafikkarte: nvidia GForce 9800GT+ Monitore: 2x Medion MD 20094 1920x1200 SUSE 11.3 nach ins...
Tastatur / Maus blockiert
Roland M. Egloff, 30.08.2010 22:56, 0 Antworten
Hallo Linux Freunde, Die folgende Info. ist vielleicht für jemand nutzlich... Ich musste mi...
Erstellung von Newslettern unter Suse 11.3
Klaus Werner, 27.08.2010 09:45, 1 Antworten
Moin suchen ein Programm zur Erstellung von Newslettern. sollte unter Linux laufen. Jemand eine...