Hallo,
mein Anwendung hatte mit Hilfe von VB 6 aus einer Oberflächentabelle eine .txt Datei erzeugt.
Wobei Inhalte eines DS so erzeugt wurde:
With DS
stName = .Name
stVorname = .Vorname
stMerker = Replace(.Geburtsdatum, ".", "")
stGeburtsdatum = Left(stMerker, 4) & Right(stMerker, 2)
stPLZ = .PLZ
stOrt = .Wohnort
stStraße = .Straße
stNummer = .HausNr
stZusatz = .Zusatz
stGrad = CStr(.Grad) '(.Grad, "000")
stFA = CStr(.FA) ' format(.FA, "00")
stGemeinde = CStr(.Gemeinde) 'format(.Gemeinde, "000000")
stMerker = Replace(.GültigBis, ".", "")
stGültigBis = Left(stMerker, 4) & Right(stMerker, 2)
stBenutzer = .Benutzer
stBenutzer = UCase(gstBenutzerName)
stDatum = format(Date, "ddmmyy")
End With
und danach folgender DS-String an die Datei gehängt wurde:
stDatensatz = _
stName & _
stVorname & _
stGeburtsdatum & _
stPLZ & _
stOrt & _
stStraße & _
stNummer & _
stZusatz & _
stGrad & _
stFA & _
stGemeinde & _
stGültigBis & _
stBenutzer & _
stDatum
Im Ergebnis kam ein DS dieser Art heraus:
MOLZBERG HER 30111865207WIESBADEN TRUMANWEG. 2 A 05040414000999999PF40270608
Die Listen können ziemlich umfangreich sein 4-5 Tausend DS sind keine Seltenheit!
Nun sollte lt. Anwender lieber eine .csv-Datei verwendet werden, so dass sich diese mit Excel öffnen ließe!
Ich habe die Separatoren gegen ";" ausgetauscht, so dass der übergebene DS-String nun so ausschaut:
stDatensatz = _
stName & ";" & _
stVorname & ";" & _
stGeburtsdatum & ";" & _
stPLZ & ";" & _
stOrt & ";" & _
stStraße & ";" & _
stNummer & ";" & _
stZusatz & ";" & _
stGrad & ";" & _
stFA & ";" & _
stGemeinde & ";" & _
stGültigBis & ";" & _
stBenutzer & ";" & _
stDatum
Das ";" bewirkte auch zutreffend eine Spaltentrennung beim Öffnen der .csv Datei,
aber macht immer dann in den Zellen der betroffenen Spalte "Hausnummer/Zusatz" hier aus Beispieldatensatz statt 2 A => 02:00 AM!
Vermutlich bei 2 P => 02:00 PM!
Dass Erzeugen der Datei übernimmt das VB 6 Programm, der Anwender hat kein VB6 nur Excel!
So, was ewig lange währt, hier jetzt meine Frage:
Wie ist es möglich die .csv-Datei so zu erstellen, dass der Anwender die .csv Datei mit Excel so öffnen kann, dass die Angabe "2 A" nicht als Uhrzeitwert von Excel interpretiert wird?
(Gibt es vielleicht so etwas wie einen Headerteil, mit dem man dass Format der einzelnen Spalten für Excel unmissverständlich mitteilt?)