Excel Benutzerdefiniertes Format

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2068
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Excel Benutzerdefiniertes Format

Beitrag von Koverhage » Do, 15. Mär 2012 16:05

Ich muss eine Excel Tabelle verarbeiten die ein Benutzerdefiniertes Feld in der Form 00001
enthält. Die Zellen haben den Inhalt 0, werden aber durch das Formatieren als 00001
angezeigt.
Ich übernehme die Daten so:
aValues := oExcel:Application:Range(oSheet:Cells(4,1),oSheet:Cells(nRow,5)):value
Als Ergebnis bekomme ich die Spalte(Zelle) 1 mit einem Wert 0

Speichere ich die Tabelle allerdings als CSV oder TXT Datei bekomme ich wie gewünscht den
Wert 00001.

Muss ich jetzt für jeden Wert die Formatierung auslesen (falls das überhaupt möglich ist)
und das Ergebnis entsprechend aufbereiten ?
Gruß
Klaus

georg
Foren-Administrator
Foren-Administrator
Beiträge: 2171
Registriert: Fr, 08. Feb 2008 21:29

Re: Excel Benutzerdefiniertes Format

Beitrag von georg » Do, 15. Mär 2012 19:38

Ja.

OK, das wäre gemein als Antwort. Was mich interessiert, ist die benutzerdefinierte Formatierung, die einen Wert Val("0") als "0001" anzeigt. Du wirst die Formatierung zumindest einmal auslesen und übertragen müssen. Persönlich würde ich ein Makro aufzeichen, in dem ich auf das Feld klicke, dann das Pinsel-Icon anklicke und eine andere Zelle anklicke (übertragen einer individuellen Formatierung) und mir dann anschauen, was der Makro-Recorder festgehalten hat.

Analog kannst Du dann diese Formatierung auch auf einen Bereich übertragen.


Gruss,

Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14503
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Excel Benutzerdefiniertes Format

Beitrag von brandelh » Do, 15. Mär 2012 21:32

Wenn du führende Blanks verschmerzen kannst, so erzwinge ich die führende 0 ;-)
Gruß
Hubert

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2068
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Excel Benutzerdefiniertes Format

Beitrag von Koverhage » Fr, 16. Mär 2012 7:21

@Georg,

ich habe es ja nicht gewusst das da ein benutzerdefiniertes Format eingetragen ist.
Habe mich nur gewundert, das in dem Feld 0 steht obwohl mit Excel 00001 angezeigt wird.
D.h. ich muss alle benötigten Felder prüfen, da ich das vorher ja nicht weiß.

@Hubert,
die Antwort verstehe ich jetzt nicht.
ich benötige die 0001 und zwar als String. Das Problem die 1 ist ja nicht wirklich da
(so kann man sich Eingaben in Excel sparen, aber mit dem kann man nicht arbeiten)
Gruß
Klaus

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14503
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Excel Benutzerdefiniertes Format

Beitrag von brandelh » Fr, 16. Mär 2012 8:36

Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm ;-)
Nun kann man das Format auf Text setzen:

Code: Alles auswählen

   oSheet:Columns("A:E"):NumberFormat        := "@"
was leider nicht immer richtig funktioniert, oder aber statt "0000" " 0000" zuweisen.
Das zeigt er dann mit führenden Nullen an. Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.
Gruß
Hubert

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14465
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: Excel Benutzerdefiniertes Format

Beitrag von Martin Altmann » Fr, 16. Mär 2012 9:12

brandelh hat geschrieben:Was du mit der 1 die es eigentlich nicht gibt meinst, verstehe ich jetzt nicht.
Moin Hubert,
ganz einfach: Bedingte Formatierung!
Wenn die Zelle leer ist, dann formatiere sie mit 00001 - es wird also ein leeres Feld als 00001 angezeigt.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2529
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Excel Benutzerdefiniertes Format

Beitrag von UliTs » Fr, 16. Mär 2012 10:34

brandelh hat geschrieben:Excel unterdrückt führende '0' Zeichen, schließlich ist es ein Rechenprogramm ;-)
Hubert, da verwechselst Du was ;-) .
Beim Rechnen sind führende Nullen ohne Bedeutung. Es geht nur um die Information über die Formatierung :razz:
Aber das weißt du ja inzwischen :book:
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Antworten