Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: keine länderspez. Formate beim CSV-Speichern

VBA: keine länderspez. Formate beim CSV-Speichern
12.07.2005 18:16:17
RF
Hallo Forum,
komische Sache.
Welche Hintergrundroutinen werden beim manuellen Speichern ausgeführt, die beim "SaveAs"-Befehl nicht angestoßen werden?
Problem:
Zellinhalt=123456,789
a) ich speichere manuell als CSV - kein Problem: 123456,789 steht in CSV-Datei
b) ich speichere per VBA mit SaveAs-Methode, plötzlich erhalte ich 123456.789 Offensichtlich werden gemäß englischer Sprach-Voreinstellung Punkt/Komma ausgetauscht. - Wie verhindere ich das?
Für Datumswerte gilt dasselbe:
Aus [12.07.2005] wird [7/12/2005]
Ich habe schon versucht beim SaveAs den Textcodepage-Parameter zu setzen, jedoch ohne Erfolg.
Wer weiß hier weiter?
Ich möchte nur exakt dasselbe per VBA durchführen, was auch beim manuellen Speichern geschieht. (SendKeys oder Menübefehl-Aufrufe sind keine Lösung!)
Danke für´s Helfen!
RF
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 20:15:20
Ramses
Hallo
probiers mal so
ThisWorkbook.SaveAs "C:\Demo.csv", xlCSVWindows, local:=True
Gruss Rainer
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 20:29:24
RF
Hallo Rainer,
fantastisch, das ist die Lösung!
Leider gibt´s diesen Parameter erst seit Excel 2002.
Mein Problem besteht damit allerdings weiter, da ich eine versionsunabhängige Lösung suche ab v.97.
Da ich in Ex2000 getestet habe, ist mir dieser Param auch nicht aufgefallen.
Weißt du vielleicht noch eine andere Lösung?
Trotzdem DANKE!
RF
Anzeige
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 20:47:19
Ramses
Hallo
Meinst du "Local" ?
Ich dachte das gäbe es schon länger, ansonsten mal als FileFormat
xlCSV
verwenden.
Gruss Rainer
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 20:54:42
RF
Hallo Rainer,
danke für dein Engagement.
Genau diesen FileFormat-Parameter habe ich bisher auch gesetzt.
Die Anweisung lautete wie folgt
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.FullName, ".xls", ".csv"), FileFormat:=xlCSV
Leider gibts den Local-Paramter noch nicht - siehe Definitionen unten.
Auszug aus der Ex97/2000-Hilfe:
Ausdruck.SaveAs(Filename, FileFormat, Password, WriteResPassword,
ReadOnlyRecommended, CreateBackup, AddToMru, TextCodePage, TextVisualLayout)
Auszug aus der Ex02/03-Hilfe:
Ausdruck.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Liebe Grüße,
RF
Anzeige
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 21:03:15
Ramses
Hallo
Wenn es keine Datenbanken mit 65000 Zeilen und 256 Spalten sind, würde es sich anbieten, die CSV Datei selbst zu erstellen.
Mit einer Schleife Zelle für Zelle abarbeiten und den String selbst zusammenbauen.
Gruss Rainer
AW: VBA: keine länderspez. Formate beim CSV-Speich
12.07.2005 21:14:12
RF
Hallo Rainer,
hast ja recht. Das habe ich auch schon überlegt, aber so einfach ist das gar nicht, wennst du´s allgemein gültig machen willst.
Denn da musst du zig Fallunterscheidungen durchspielen.
Zwar kriegt man die die länderspezifischen Systemsteuerungs-Einstellungen relativ leicht via Application.International(zB: xlGeneralFormatName) raus, aber man muss sich um viele Dinge selbst kümmern:
* Länder- und regionale Einstellungen
* Währung
* Datum und Uhrzeit
* Maßeinheitensysteme
* Trennzeichen
bei Interesse siehe Hilfe "mk:@MSITStore:C:\Programme\OfficeXP\Office10\1031\VBAXL10.CHM::/html/xlproInternational.htm"
Dazu kommt noch, dass ich auch benutzerdefinierte Formate beachten müsste.
Denn eine Zahl [123456,789] wird in der CSV-Datei als
...;123456,789;...
dargestellt
wenn Sie allerdings mit einem benutzerdefinierten Format zB. "#.##0,000" hinterlegt ist, muss sie als
...;"123456,789";...
ausgegeben werden.
Du siehst also, man kommt in Teufels Küche und aus einem 1-Zeiler wird ein 5 Stunden-Projekt - und das wollte ich auf alle Fäller verhindern *grins*
Danke jedenfalls!
LG,
RF
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige