Entwickler-Ecke
Datenbanken - Daten aus Exceltabelle einlesen und richtig konvertieren
MysticMike - So 07.05.06 13:28
Titel: Daten aus Exceltabelle einlesen und richtig konvertieren
Hi!
Ich hab folgendes Problem: ich speichere Schrifteigenschaften wie Farben, Style, ect. in einer Excel-Tabelle. Sieht dann so aus, dass z.B. in Zelle B2 als Farbe "clwhite" steht. Wenn ich es nach folgender Methode dann in Delphi zuweise führts zu einem Laufzeitfehler --> ungültige Varianttyp-Umwandlung.
Delphi-Quelltext
1:
| Form1.canvas.Font.Color := ExcelApp.Cells[2,2].Value; |
Weiß vielleicht jemand wie ich's richtig umwandle oder muss ich von Haus aus nen anderen Weg gehen?
thx Mystix
Ach ja: ExcelApp is folgendermaßen definiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var ExcelApp: OLEVariant;
ExcelApp := CreateOleObject('Excel.Application'); ExcelApp.Workbooks.Open('.\Sprachausgabe.xls'); |
Mister X-Ray - So 07.05.06 14:52
ich gehe mal davon aus dass du aus der excel-tabelle einen String zurück geliefert bekommst. Also müsstest du schreiben:
Delphi-Quelltext
1:
| Form1.canvas.Font.Color := StringToColor(ExcelApp.Cells[2,2].Value); |
Gruß
Mister X-Ray
MysticMike - So 07.05.06 15:14
Hi!
Danke für die schnelle Antwort! Mit der Farbzuweisung klappt's einwandfrei.
Gibts auch noch irgendwie eine Funktion wie ich einen String in einen Font.Style umwandeln kann?
MysticMike - So 07.05.06 15:18
Ich denke
Delphi-Quelltext
1:
| if ExcelApp.Cells[y,x].Value = 'fsbold' then Font.style:= [fsbold]; |
tuts auch, da ich ja nur zwischen Normal und Fett unterscheiden will.
greetz
Mister X-Ray - So 07.05.06 16:46
ach ja, wenn du das ganze umgekehrt machen möchtest dann müsste das
Delphi-Quelltext
1:
| ExcelApp.Cells[2,2].Value := ColorToString(Form1.canvas.Font.Color) |
funktionieren.
Gruß
Mister X-Ray
FloL - Mo 28.08.06 14:08
Doofe Frage, aber als was muss man das in der uses-Liste definieren? Da das ja so nicht einfach funktionieren wird, will das auch nämlich auch machen ;)
Aber bekomme nen nen Fehler mit:
[Fehler] gebaeude.pas(580): E2003 Undefinierter Bezeichner: 'CreateOleObject'
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!