Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

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

Moderator: Moderatoren

Animal21
Beiträge: 4
Registriert: So, 24.05.2009 18:42

Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Beitrag von Animal21 »

Hallo Leute,

ich hab besteimmte Farbwerte (RGB-Werte) (ich benutz den calc zur analyse besteimmter dinge):

Diese stehen jeweils in 3 spalten und in der 4. spalte, soll die entsprechene farbe, welche diese werte ergeben stehn.

wie könnt ih das umsetzten (soll halt dynamisch passieren, wie eine funktion praktisch)
so z.b.:
pseudocode:
cell 4.background = color.FromARGB((int)cell1,(int)cell2,(int)cell3);


gibbet sowas in die richtung?


mfg
ani
Karolus
********
Beiträge: 7518
Registriert: Mo, 02.01.2006 19:48

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Beitrag von Karolus »

Hallo
Falls das dynamisch funktionieren soll musst du hier mal nach "listener" suchen.
Ein einfaches Makro das den Hintergrund von D aus den Werten der drei Spalten vorher einfärbt wäre.

Code: Alles auswählen

Sub hintergrundfarbe
with thisComponent.sheets(0) '1.Tabelle
do while .getcellbyPosition(0,i).value + .getcellbyPosition(1,i).value + .getcellbyPosition(0,i).value > 0
	r = .getcellbyPosition(0,i).value
	g = .getcellbyPosition(1,i).value
	b = .getcellbyPosition(2,i).value
	.getcellbyPosition(3,i).cellbackcolor = RGB(r,g,b)
	i = i +1
loop
end with

End Sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Animal21
Beiträge: 4
Registriert: So, 24.05.2009 18:42

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Beitrag von Animal21 »

dankeschön, klappt wunderbar

hab leide rnich viel ahnung voin der vb syntax, bzw im zusammenspiel mit calc.

wenn ich 4 spalten anwähl, würd ich gern die infos aus den ersten drein ziehn und als farbe in die 4. schreiben (da muss ich den code dann nich anpassen wenn sich die spalten ändern...)

gibts was mit "selected..." oder so?


weist was ich meine?

mfg
ani
Karolus
********
Beiträge: 7518
Registriert: Mo, 02.01.2006 19:48

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Beitrag von Karolus »

Hallo
Für den folgenden Code musst du nur den Bereich mit den "r" -werten selektieren.

Code: Alles auswählen

Sub hintergrundfarbe
with thisComponent.currentselection().rangeaddress
oTab = thiscomponent.sheets(.sheet) 'sel. Tabelle
icol = .startcolumn 
for i = .startrow to .endrow

	r = oTab.getcellbyPosition(icol,i).value
	g = oTab.getcellbyPosition(icol + 1, i ).value
	b = oTab.getcellbyPosition(icol + 2 , i ).value
	if r + g + b = 0 then
		oTab.getcellbyPosition(icol + 3 , i ).cellbackcolor = -1
	else
		oTab.getcellbyPosition(icol + 3 , i ).cellbackcolor = RGB(r,g,b)
	end if
next i
end with

End Sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Animal21
Beiträge: 4
Registriert: So, 24.05.2009 18:42

Re: Individuelle Hintergrund farbe für Farbzellen (RGB-Werte)

Beitrag von Animal21 »

cool dankeschön
Antworten