Verbundene Zellen formatieren

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Verbundene Zellen formatieren

Beitrag von keksi1970 »

hi,

also, ich möchte gerne VerbundeneZellen formatieren. die "normalen" Formatierungen sind nicht das Problem, eher :

- Vertikale Ausrichtung
- Verdeckten Inhalt in die erste Zelle schieben

vor allem das mit dem Text muss möglich sein

gibts da irgendwas ?

LG Andreas
Karolus
********
Beiträge: 7534
Registriert: Mo, 02.01.2006 19:48

Re: Verbundene Zellen formatieren

Beitrag von Karolus »

Hallo Andreas
Geht alles zusammen per aufgezeichnetem Code:

Code: Alles auswählen

sub Zellen_zusammenfassen_und_drehen
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$23:$B$27"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem Inhalte in erste Zelle verschieben
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "MoveContents"
args2(0).Value = true

dispatcher.executeDispatch(document, ".uno:ToggleMergeCells", "", 0, args2())

rem Text drehen
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "AlignmentRotation"
args3(0).Value = 27000 '270° "von oben nach unten"

dispatcher.executeDispatch(document, ".uno:AlignmentRotation", "", 0, args3())


end sub 
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Verbundene Zellen formatieren

Beitrag von keksi1970 »

danke erstmal,

aber ich wollte eigentlich keinen dispatcher - code benutzen.

also mach ich das mal mit der Problemstellung

mein bisheriger Code sucht in der Spalte3 nach gleichen Ziffern, anschliessend fasst er den Bereich mit den gleichen Ziffern zusammen. nun fasst er aber den gleichen Bereich auch in benachbarten Spalten zusammen (so solls ja auch sein). leider steht nun nicht immer in der 1. Zeile des Bereiches etwas, so dass der Inhalt überschrieben wird.

mein bisheriger Code :

Code: Alles auswählen

durchlauf = 12
do while Auswertungssheet.getcellrangebyname("A" & durchlauf).string <> "" OR Auswertungssheet.getcellrangebyname("A" & _ durchlauf+2).string <> ""
	tourfassenzaehler = 0
	do while Auswertungssheet.getcellrangebyname("D" & durchlauf + tourfassenzaehler).value = _ Auswertungssheet.getcellrangebyname("D" & durchlauf).value
		tourfassenzaehler = tourfassenzaehler +1
	loop
	for i = 0 to 11
	If i = 4 then i = i + 1
		oBereich = Auswertungssheet.getCellRangeByPosition( i, durchlauf-1, i, durchlauf + tourfassenzaehler-2 )
	
	If oBereich.getIsMerged() then
		oBereich.merge( false )
	Else
		oBereich.merge( true )
	End If
	oBereich.cellstyle="Zentriert1"
	
	Next

durchlauf=durchlauf + 1
loop
das mit dem vertikal Zenztrieren hab ich über eine Zellvorlage gelöst, aber den Inhalt verschieben in die 1. sichbare Zelle ist mir leider nicht möglich. Irgendwelche anderen Vorschläge ?

LG Andreas
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Verbundene Zellen formatieren

Beitrag von keksi1970 »

so,, ein problem geloest, bleibt das Zweite :

mit

Code: Alles auswählen

		with oBereich
			.merge( true )
			.VertJustify = 2        'vertikale Ausrichtung
			.paraadjust = 3
		end with
ändere ich zumindest das unwichtigere des Problems.

Bleibt die Frage nach dem "Zellinhalt!!!" in die erste Zelle verschieben.

Weiß jemand Rat ?

lg Andreas
Antworten