Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
jak zajistit ať Excel exportuje do *.csv a jako oddělovač použije středník?
Klasické uložení ActiveWorkbook.SaveAs do csv způsobí, že se jako oddělovač použije čárka. Což je pro české končiny nevýhodné. Jak donutit Excel používat středník?
Je jednoduché, musíme jen ve VBA Excel říci ať použije národní rpostření pomocí příkazu:
Local:=True
Takže řešení může vypadat takto:
ActiveWorkbook.SaveAs Filename:="D:\moje-csv.csv", FileFormat:=xlCSV, Local:=True
Snad Vám tato rada pomůže stejně jako pomahla mně.
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 06.06.12 13:47
pořád problém - local:=true bez úspěchu, odddělovač čárka a dokonce desetinný oddělovač tečka. Nemáte někdo další tip? dík M.
Přidáno: 06.06.12 19:50
To Mung: Kterou verzi Excelu používate?
Přidáno: 07.06.12 15:20
Zdravím, testováno na W7/MSO2010 a WXP/ MSO2003. chová se mi podivně - při prvním běhu se nastavení local projeví a oddělovače jsou OK. Při dalším spuštění se vše vrátí ke starému :-( Místní nastavení, je OK.
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "vysledek_premie.dat", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Přidáno: 07.06.12 15:25
BTW - díky za stránky - lovím v nich celkem často :-)
Přidáno: 07.06.12 21:18
to mung: Můžete poslat ukázku? Výše uvedený kód na mém PC funguje Win7/Office CZ 2010. Díky :-)
Přidáno: 20.07.12 11:39
Taky jsem se touto problematikou zabýval a řešil ji a použil jsem toto (je to na 3 sloupce, ale v příkazu PRINT lze připojit libovolný počet sloupců, podle naznačeného alegoritmu):
log_out = FreeFile(1)
Open cil For Output As #log_out
Sheets("List_data").Select
Range("a1").Select
radku = Range("pocet_dokladu")
POCET = 0
For POCET = 0 To radku
Rem Print #log_out, Selection.Offset(0, sloupec).Value & ";" & "",
Print #log_out, Range("a" & ActiveCell.Row).Value & ";" & Range("b" & ActiveCell.Row).Value & ";" & Range("c" & ActiveCell.Row).Value & ";"
ActiveCell.Offset(1, 0).Select
Next POCET
Close #log_out
Přidáno: 19.02.14 11:14
Řešil jsem stejný problém.
Pomohlo toto:
With ActiveWorkbook
.SaveAs Filename:="My File.csv", FileFormat:=xlCSV, Local:=True
.Close False
End With
Přidáno: 24.02.14 20:03
Dobrý den, chtěl bych Vás poprosit o radu. Potřebuji uložit tabulku jako .csv s oddělovačem ";" a kódování UTF-8. Středník je zde vysvětlen, bohužel nevím, jak pomocí VBA nastavit UTF-8 jako kódování textu. Děkuji za případné odpovědi.
Přidáno: 23.08.14 11:56
Dobrý den, prosím o radu - hodnoty z listu A4 tisknu přes makro - první (horní) 1/4 se tiskne na první příkaz, zbylé 3/4 na druhý. Nemůžu horizontálně vystředit druhou část tak, aby byla na místě, kde je v úplném listu (je výše, než by měla). Tedy, jak posouvat blok tisku v makru horizontálně. Děkuji
Přidáno: 26.08.14 08:00
Zdravíčko, nevíte prosím jak uložit naplněné pole (array) rovnou do csv? Díky
Přidáno: 08.02.16 15:43
Zdravim, mam ten samy problem v office 2016. Local:=True mi nefunguje. Nejaka moznost ako to zmenit? Dakujem pekne za pomoc.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |