Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Delphi-->Excel Farben


Flamefire - Mo 09.07.07 16:22
Titel: Delphi-->Excel Farben
Wie kann ich eine Excel-Zelle einfärben, wenn ich die Farbe über ein ColorDialog in Delphi auswählen möchte?
Excel kennt ja nicht alle Farben, oder?


JensLaskowski - Mo 09.07.07 16:25

Zeichne einfach ein Makkro mit Excel auf und schau es dir dann an. Dann hast du denn Code für das ändern der Farbe.

Mit freundlichen Grüßen
JensLaskowski


Flamefire - Mo 09.07.07 16:29

es geht ja nicht um das ändern der farbe sondern über die farbe selbst
excel hat nur 56 Farben
aber der colordialog aus delphi liefert 32bit
dann ist das problem, wie ich die farbe von delphi in excel umwandle

habs durch zufall gefunden: statt "colorindex" "color"


JensLaskowski - Mo 09.07.07 16:36

du müsstets einfach in Excel gucken können, wie die Farbe heißt...und die schreibst du dann in deinen Quellcode, denn der Code wird ja nicht in Delphi ausgeführt sondern gleich in Excel.

So war es bei mir mit Word.

Mit freundlichen Grüßen
JensLaskowski


Agawain - Mo 09.07.07 16:46

Hi

ne, das geht glaub ich nicht, weil die Farbe nur über den Index der Standardfarben zugreifbar macht.

Aber wenn mann die Delphi-Farbe in einen RGB-Wert umwandelt, dann soltte Folgendes funktionieren


Delphi-Quelltext
1:
 ActiveWorkbook.Colors(1) := RGB(45217102);                    


Damit kann der ersten Farbe immer ein anderer Wert zugewiesen werden, oder man spricht halt alle Indizes an.

Gruß

Aga


JoelH - Do 15.11.07 18:04

user profile iconAgawain hat folgendes geschrieben:
Hi

ne, das geht glaub ich nicht, weil die Farbe nur über den Index der Standardfarben zugreifbar macht.

Aber wenn mann die Delphi-Farbe in einen RGB-Wert umwandelt, dann soltte Folgendes funktionieren


Delphi-Quelltext
1:
 ActiveWorkbook.Colors(1) := RGB(45217102);                    


Damit kann der ersten Farbe immer ein anderer Wert zugewiesen werden, oder man spricht halt alle Indizes an.

Gruß

Aga

Ist der Wert 1 dann der, den ich hier

Delphi-Quelltext
1:
app_Excel.Selection.Interior.colorindex := farbe;                    

als Farbe übergeben müsste, also quasi

Delphi-Quelltext
1:
app_Excel.Selection.Interior.colorindex := 1;                    

und ich ich bekomme deinen RGB(45, 217, 102) als Hintergrundfarbe neiner selektierten Zellen?