BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] CALC-Zellen per makro formatieren

Alles zur Programmierung im LibreOffice.
Antworten
wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

[gelöst] CALC-Zellen per makro formatieren

Beitrag von wega » Sa 20. Jan 2018, 20:42

Hallo zusammen,

auch dieses Thema ist weitgehendst durchgeknetet, dennoch
gibt es offene Fragen.

Das erste Bild stellt eine Formatierung der Zellen mit
CALC-Funktionen dar, wie sie beim normalen Benutzen des
Programms möglich sind (ohne Makro) nur mit Maus.
Clac-Zellen.jpg
Clac-Zellen.jpg (49.79 KiB) 5401 mal betrachtet
Ich habe die Mausklicks mal umrandet. erst die Mitte, dann
den Umbruch.

Im 2.ten Bild das Ergebnis der nachfolgenden Makrosequenz.
Clac-Zellen-01.jpg
Clac-Zellen-01.jpg (19 KiB) 5401 mal betrachtet
Und jetzt die Makrosequenz:

Code: Alles auswählen

'Die Übererschriften werden formatiert
Tabelle.getCellRangeByName("A3:D3").CharFontName="Comic Sans MS"
Tabelle.getCellRangeByName("A3:D3").CharHeight="12"
Tabelle.getCellRangeByName("A3:D3").CharWeight=com.sun.star.awt.FontWeight.BOLD
'Überschriften positionieren
'horijustify=1 <- links
'horijustify=2 <- mitte
'horijustify=3 <- rechts
'horijustify=4 <- umbrochen
Tabelle.getCellRangeByName("A3:D3").horijustify=4
Wie muß die Sequenz aussehen, damit der Text wirlich, trotz Umbruch in der
Mitte der Zelle steht?

Gruß
Werner
Zuletzt geändert von wega am So 21. Jan 2018, 12:58, insgesamt 1-mal geändert.

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: CALC-Zellen per makro formatieren

Beitrag von F3K Total » So 21. Jan 2018, 10:36

Moin,
so geht's:

Code: Alles auswählen

Sub Main
    Tabelle = ThisComponent.Sheets(0)
    CellRange = Tabelle.getCellRangeByName("A3:D3")
    CellRange.CharFontName="Comic Sans MS"
    CellRange.CharHeight="12"
    CellRange.CharWeight=com.sun.star.awt.FontWeight.BOLD
    'Überschriften positionieren
    'horijustify=1 <- links
    'horijustify=2 <- mitte
    'horijustify=3 <- rechts
    'horijustify=4 <- nicht nur umbrochen -->Blocksatz
    CellRange.horijustify = 2'Mittig
    CellRange.IsTextWrapped = true'Umbruch
End Sub
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

preklov
Beiträge: 9
Registriert: Fr 19. Jan 2018, 14:39

Re: CALC-Zellen per makro formatieren

Beitrag von preklov » So 21. Jan 2018, 10:41

Hallo Werner,

Im Allgemeinen sollte man Enumerationen nicht mit ihrem Wert, sondern mit ihrem Namen verwenden, schreiben die Entwickler. Also wohl besser:

Code: Alles auswählen

.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER
Klappt es?
Schöne Grüße
Volker

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: CALC-Zellen per makro formatieren

Beitrag von F3K Total » So 21. Jan 2018, 10:49

Hallo Volker,
da hast Du Recht, was aber vor Allem fehlte, war

Code: Alles auswählen

.IsTextWrapped = true
Verbessert also so:

Code: Alles auswählen

Sub Main
    Tabelle = ThisComponent.Sheets(0)
    CellRange = Tabelle.getCellRangeByName("A3:D3")
    CellRange.CharFontName="Comic Sans MS"
    CellRange.CharHeight="12"
    CellRange.CharWeight=com.sun.star.awt.FontWeight.BOLD
    'Überschriften positionieren
    'horijustify=1 <- links
    'horijustify=2 <- mitte
    'horijustify=3 <- rechts
    'horijustify=4 <- nicht nur umbrochen -->Blocksatz
    CellRange.horijustify = com.sun.star.table.CellHoriJustify.CENTER'Mittig
    CellRange.IsTextWrapped = true'Umbruch
End Sub
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

preklov
Beiträge: 9
Registriert: Fr 19. Jan 2018, 14:39

Re: CALC-Zellen per makro formatieren

Beitrag von preklov » So 21. Jan 2018, 11:09

Ja klar, IsTextWrapped ist die Lösung. Ich hatte das schon geschrieben, doch du warst 3 Minuten schneller, so habe ich es wieder gelöscht.
Schöne Grüße
Volker

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: CALC-Zellen per makro formatieren

Beitrag von wega » So 21. Jan 2018, 11:52

Hallo F3K Total, hallo preklov,

danke für eure Antworten und Erklärungen.
Das hat mir geholfen und hat auch wie gewünscht
funktioniert.

Auf solch eine Lösung wäre ich nie gekommen.
Wo holt Ihr diese informationen ein?

Mit Gruß
Werner

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: CALC-Zellen per makro formatieren

Beitrag von F3K Total » So 21. Jan 2018, 12:30

wega hat geschrieben:
So 21. Jan 2018, 11:52
Wo holt Ihr diese informationen ein?
Ich empfehle Dir die Verwendung eines Introspection-Tools wie MRI oder Xray
Damit kannst Du alle OOo-Dokumente hinsichtlich ihres Aufbaues durchleuchten.
In deinem Fall habe ich den Zellbereich, einmal mit, und einmal ohne händisch eingestellten Zeilenumbruch mit Xray untersucht

Code: Alles auswählen

Xray CellRange
der Unterschied war

Code: Alles auswählen

.IsTextWrapped = true
oder

Code: Alles auswählen

.IsTextWrapped = false
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

preklov
Beiträge: 9
Registriert: Fr 19. Jan 2018, 14:39

Re: CALC-Zellen per makro formatieren

Beitrag von preklov » So 21. Jan 2018, 12:35

Auch wenn es ein Link auf eine OO-Site ist, so sind die Unterschiede in der Makroprogrammierung zwischen AOO und LO noch gering. Hier sind viele Quellen aufgeführt:

http://de.openoffice.info/viewtopic.php?f=18&t=1553
Schöne Grüße
Volker

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: CALC-Zellen per makro formatieren

Beitrag von wega » So 21. Jan 2018, 12:57

Hallo,

ein Danke an euch beiden.

Gruß Werner

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten