Hallo,
wie kann ich eine Zelle als Character formatieren ?
Grüße
Rudolf
oExcel:DisplayAlerts := .F.
oExcel:visible := .f.
oBook := oExcel:workbooks:Add()
oSheet := oBook:ActiveSheet
oSheet:Name := "Test"
nRow := 1
oSheet:Cells(nRow,1):Value := "012345" // wird autom. Zahl, sollte aber character sein, da sonst die führende 0 verlorengeht
EXCEL und Zelle formatieren
Moderator: Moderatoren
- Bertram Hansen
- Foren-Moderator
- Beiträge: 1017
- Registriert: Di, 27. Sep 2005 8:55
- Wohnort: 51379 Leverkusen
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: EXCEL und Zelle formatieren
Hallo Rudolf,
ich mache wie folgt:
Legende:
::aStructur[i,3] -> Feldtype
::aStructur[i,4] -> Anzahl Vorkommastellen
::aStructur[i,5] -> Anzahl Nachkommastellen
ich mache wie folgt:
Legende:
::aStructur[i,3] -> Feldtype
::aStructur[i,4] -> Anzahl Vorkommastellen
::aStructur[i,5] -> Anzahl Nachkommastellen
Code: Alles auswählen
DO CASE
// Datentyp Numerisch
CASE ::aStructur[i,3] == "N"
IF ::aStructur[i,5] == 0
::oSheet:Columns(i):NumberFormat := "0"
ELSE
::oSheet:Columns(i):NumberFormat := "0,"+ REPLICATE('0', ::aStructur[i,5])
ENDIF
::oSheet:Columns(i):HorizontalAlignment := 4 // 4 -> rechtsbndig
// Datentyp Datum
CASE ::aStructur[i,3] == "D"
::oSheet:Columns(i):NumberFormat := "TT.MM.JJ"
::oSheet:Columns(i):HorizontalAlignment := 2 // 2 -> linksbndig
// Datentyp Logisch
CASE ::aStructur[i,3] == "L"
::oSheet:Columns(i):NumberFormat := "Standard"
::oSheet:Columns(i):HorizontalAlignment := 2 // 2 -> linksbndig
// Datentyp Zeichenkette
CASE ::aStructur[i,3] == "C"
::oSheet:Columns(i):NumberFormat := REPLICATE('#', ::aStructur[i,4])
::oSheet:Columns(i):HorizontalAlignment := 2 // 2 -> linksbndig
// Datentyp Sonderformat Datum
CASE ::aStructur[i,3] == "S"
::oSheet:Columns(i):NumberFormat := "MMMMMMMMM JJJJ"
::oSheet:Columns(i):Left
HorizontalAlignment = xlLeft
// Datentyp Zeit
CASE ::aStructur[i,3] == "Z"
::oSheet:Columns(i):NumberFormat := "hh:mm:ss"
::oSheet:Columns(i):HorizontalAlignment := 2 // 2 -> linksbndig
ENDCASE
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.
Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: EXCEL und Zelle formatieren
Hallo Bertram,
danke für den Tip, habs so versucht:
oSheet:Cells(nRow,17):NumberFormat := REPLICATE('#',8)
oSheet:Cells(nRow,17):Value := "0125"
aber im EXCEL wird immer noch die führende 0 abgeschnitten und die Zelle ist als Zahl definiert.
Grüße
Rudolf
danke für den Tip, habs so versucht:
oSheet:Cells(nRow,17):NumberFormat := REPLICATE('#',8)
oSheet:Cells(nRow,17):Value := "0125"
aber im EXCEL wird immer noch die führende 0 abgeschnitten und die Zelle ist als Zahl definiert.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: EXCEL und Zelle formatieren
Schick "'012345"Rudolf hat geschrieben:Hallo,
oSheet:Cells(nRow,1):Value := "012345" // wird autom. Zahl, sollte aber character sein, da sonst die führende 0 verlorengeht
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: EXCEL und Zelle formatieren
Hallo Herbert,
Danke ! genau das eine Anführungszeichen hat genügt, formatieren alleine reicht anscheinend nicht.
Grüße
Rudolf
Danke ! genau das eine Anführungszeichen hat genügt, formatieren alleine reicht anscheinend nicht.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net