Automatisches Einfügen eines Diagrammtitels in LibreOffice
LibreOffice ist ein kostenloses Programm zur Erstellung und Bearbeitung von Text, Tabellen und Präsentationen. Es ist für Windows, Linux und MacOS verfügbar.
In diesem Artikel beschreibe ich, wie man mit Hilfe eines Makros , genauer gesagt einer Benutzerdefinierten Funktion, in LibreOffice den Titel und Untertitel eines Diagramms automatisch beschriftet.
Erstellung eines Diagramms
Zur Demonstration benötigen wir zunächst ein Diagramm und dieses Diagramm benötigt Daten. Ich habe hier Daten zum Bestand chinesischer Pkw-Marken in Deutschland zum 1.1.2023 und zum 1.1.2024 ausgewählt, die ich dieser Webseite entnommen habe.
Nach der Dateneingabe markiert man den Datenbereich und öffnet man in LibreOffice Calc mit Einfügen>>Diagramm
die Diagrammerstellung.
Im nächsten Schritt aktiviert man die Optionen Erste Zeile als Beschriftung
und Erste Spalte als Beschriftung
Beim nächsten Schritt muss man keine Änderungen vornehmen
Jetzt erfolgt noch die Festlegung weiterer Diagrammelemente, darunter auch derjenigen zum Diagramm-Titel und zum Untertitel.
Das fertige Säulendiagramm sieht dann so aus:
Jetzt öffnet man mit Ansicht»Navigator
den durch LibreOffice bereitgestellten Navigator. Dort klickt man auf OLE-Objekte (Diagramme werden in LibreOffice als OLE-Objekte behandelt). LibreOffice hat zunächst automatisch einen Namen (Objekt1) für das Diagramm-Objekt vergeben. Der soll nun geändert werden. Dazu klickt man im Navigator auf Objekt1 . Das Diagramm wird daraufhin aktiviert und man klickt mit der rechten Maustaste darauf. Es erscheint ein Menü mit dem Punkt Namen. Hier kann man einen Namen vergeben. Im Beispiel habe ich ChinPkw eingegeben.
Erstellen des dynamischen Bereiches
Die benutzerdefinierten Funktionen
Wir benötigen zwei benutzerdefinierte Funktionen, die aber ganz ähnlich aufgebaut sind: eine für den Diagrammtitel und eine weitere für den Untertitel (Subtitle) des Diagramms, dementsprechend lauten die Funktionsnamen set_Title und set_SubTitle. Die Parameter sind
title
bzw.subtitle
- der jeweils anzuzeigende Textsheetnumber
- die Nummer des Tabellenblatts in LibreOffice Calcsname
- der Objektname des Diagramms (so wie vorher festgelegt, hier im Beispiel ChinPkw)
function set_Title( title, sheetnumber, sname) with thisComponent.Sheets.getByIndex( sheetnumber-1).Drawpage for i = 0 to .count() -1 if .getByIndex(i).Name = sname then .getByIndex(i).Model.Title.String = title set_Title = title exit function end if next i end with end function function set_SubTitle( subtitle, sheetnumber, sname) with thisComponent.Sheets.getByIndex( sheetnumber-1).Drawpage for i = 0 to .count() -1 if .getByIndex(i).Name = sname then .getByIndex(i).Model.Subtitle.String = subtitle set_SubTitle = subtitle exit function end if next i end with end function
Einfügen der benutzerdefinierten Funktionen in eine LibreOffice Calc Tabelle
Um die hier vorgestellten benutzerdefinierten Funktionen in eine LibreOffice Calc Datei einzufügen geht man so vor
Extras>>Makros>>Makros verwalten>>Basic
, nun öffnet sich das FensterBasic-Macros
- im Fenster Basic-Macros links auf die Datei klicken, die man bearbeiten möchte und dann auf
Verwalten
klicken, jetzt öffnet sich ein Fenster mit dem dem LibreOffice Basic Editor - die Funktion einfügen. Der automatisch eingefügte Code zum
Sub Main..End Sub
kann gelöscht werden - Datei speichern
Anpassung des LibreOffice Calc Arbeitsblattes zur Nutzung der Funktionen
Die Nutzung der beiden benutzerdefinierten Funktionen in LibreOffice Calc habe ich in der Beispieldatei dokumentiert. Hier einige ergänzenden Erläuterungen.
Der Eingabebereich besteht aus zwei Zeilen, eine für den Titel und eine weitere für den Untertitel. Die gelben Felder sind die Textfeld für die Eingabe. In den grünen Feldern stehen Formeln. die auf das Textfeld daneben verweisen. Außerdem wird hier der Name des Diagrammobjektes verwendet. Die blauen Feld zeigen die Formel als Klartext.
Sobald man einen Text in den gelben Feldern ändert verändert sich auch die Anzeige in den grünen Feldern und im Diagramm.
Download der Beispieldatei
Die LibreOffice Calc-Datei mit den Beispieldaten sowie den beiden benutzerdefinierten Funktionen kann man hier herunterladen.