VBA csv export hiba

VBA csv export hiba
2011-10-04T08:45:42+02:00
2011-10-04T10:59:55+02:00
2022-11-23T06:15:36+01:00
bd1981
Sziasztok!

Egy excel táblában helyeztem el egy gombot, amivel létrehozok egy új workbook-ot, feltöltöm, majd csv-be mentem el.
A program szépen lefut, viszont pontosvessző elválasztó helyett vesszőt tesz.
Több eljárással is próbálkoztam, mind ezt az eredményt hozta. Nem értem, mivel ha manuálisan mentek el egy excel táblát csv-be, akkor pontosvesszőt tesz.
A sok próbálkozásom egyike:
Workbooks.Add
Cells("A1") = "q"
Cells("B1") = "q"
Cells("A2") = "q"
Cells("B2") = "q"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\xxxx\Dokumentumok\proba.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Save
ActiveWindow.Close

Előre is köszönök minden segítséget!
Mutasd a teljes hozzászólást!
Ha jól olvastam, kerülő megoldás kell, mert a VBA kód futtatáskor angol területi beállításoknak megfelelően vesszőt tesz, míg ha menüből mented el, akkor a magyar területi beállításoknak megfelelően teszi a pontosvesszőt.

XL: Exported Comma Separated File Ignores Regional Settings
View products that this article applies to.
This article was previously published under Q288839
Expand all | Collapse all
SYMPTOMS
When you use a Microsoft Visual Basic for Applications (VBA) macro to save a Comma-separated values (.csv) file, Excel ignores the Microsoft Windows regional setting for the List separator character.
Back to the top
CAUSE
Excel uses the default U.S. regional settings when running a macro. This behavior ensures that the result of running macro code is consistent regardless of the computer's regional settings.

Because the default separator character in English (U.S.) is a comma, Excel uses a comma as the separator.
Back to the top
WORKAROUND
If you need .csv files to be separated according to the regional settings, click Save As on the File menu to save the file manually.



Itt van talán megoldás rá:
xlCSV = comma, Save As CSV = semicolon delimited?
Exporting And Importing Text Into Excel


De lehet, hogy a Local:=True paramétere segíthet (nem próbáltam, lehet csak a megfelelő dátum formátumra van hatással)

ActiveWorkbook.SaveAs Filename:=fnameProject, FileFormat:=xlCSV, CreateBackup:=False, Local:=True




Esetleg még csinálhatod azt is, hogy a már meglévő csv fájl tartamát beolvasod egy változóba, kicseréled a vesszőket pontosvesszőre majd visszaírod a fájlba.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd