Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

EXCEL und Zelle formatieren

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1302
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

EXCEL und Zelle formatieren

Beitrag von Rudolf » Do, 30. Okt 2014 9:06

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

Benutzeravatar
Bertram Hansen
1000 working lines a day
1000 working lines a day
Beiträge: 645
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 53902 Bad Münstereifel
Kontaktdaten:

Re: EXCEL und Zelle formatieren

Beitrag von Bertram Hansen » Do, 30. Okt 2014 9:20

Hallo Rudolf,

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 -> rechtsbndig
                  
             // Datentyp Datum
             CASE ::aStructur[i,3] == "D"
                  ::oSheet:Columns(i):NumberFormat := "TT.MM.JJ"
                  ::oSheet:Columns(i):HorizontalAlignment := 2   // 2 -> linksbndig
   
             // Datentyp Logisch
             CASE ::aStructur[i,3] == "L"
                  ::oSheet:Columns(i):NumberFormat := "Standard"
                  ::oSheet:Columns(i):HorizontalAlignment := 2   // 2 -> linksbndig
                  
             // Datentyp Zeichenkette
             CASE ::aStructur[i,3] == "C"
                  ::oSheet:Columns(i):NumberFormat := REPLICATE('#', ::aStructur[i,4])   
                  ::oSheet:Columns(i):HorizontalAlignment := 2   // 2 -> linksbndig
                  
             // 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 -> linksbndig
          ENDCASE      
:wave:
Gruß Bertram
http://www.tobax.de

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1302
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: EXCEL und Zelle formatieren

Beitrag von Rudolf » Do, 30. Okt 2014 10:07

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

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1822
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: EXCEL und Zelle formatieren

Beitrag von Herbert » Do, 30. Okt 2014 10:08

Rudolf hat geschrieben:Hallo,
oSheet:Cells(nRow,1):Value := "012345" // wird autom. Zahl, sollte aber character sein, da sonst die führende 0 verlorengeht
Schick "'012345"
Grüsse Herbert
Immer in Bewegung...

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1302
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: EXCEL und Zelle formatieren

Beitrag von Rudolf » Do, 30. Okt 2014 10:20

Hallo Herbert,
Danke ! genau das eine Anführungszeichen hat genügt, formatieren alleine reicht anscheinend nicht.
Grüße
Rudolf

Antworten