[Megoldva] CALC CSV kódlapváltás

Táblázatkezelő
ioros
Hozzászólások: 6
Csatlakozott: 2012. június 10., vasárnap 20:59

[Megoldva] CALC CSV kódlapváltás

Hozzászólás Szerző: ioros »

Üdvözlök mindenkit.

Heti gyakorisággal csinálom a következő dolgot, és szeretnem egy kicsit meggyorsítani a folyamatot. Dos-os rendszerből érkezik egy CSV fájl 852-es kódolással. Megnyitva CALC-ban rákérdez a kódolásra (852), mező elválasztóra (;) be is tölti szépen a CALC. Szeretném elmenteni ezt a CSV fájlt WinLatin2 kódolásban. Eddig két megoldást kaptam.
1. Elmentem ODS munkafüzetbe, majd utána mentés másképpen CSV és ott már választhatom a WinLatin2 kódolást.
2. Vágólapra másolom a munkalapot, majd egy üres munkafüzetet létrehozva bemásolom, és ott mentés másképp CSV-be, kódlapválasztás.

Tudtok olyan lehetőséget, hogy egy lépésben meglehessen ezt oldani? akár LO/OO BASIC is lehetséges.

Köszönettel, Oros Imre
A hozzászólást 1 alkalommal szerkesztették, utoljára ioros 2013. július 4., csütörtök 16:21-kor.
LibreOffice fresh MacOS 10.11.6
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: CALC CSV kódlapváltás

Hozzászólás Szerző: Zizi64 »

Ha "Előtte", "Utána" állapotú mintafájlokat töltesz fel ide, akkor megpróbálkozom a makrós megoldáshoz valami iránymutatást adni neked......
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
antiuhu
Önkéntesek
Hozzászólások: 194
Csatlakozott: 2008. február 28., csütörtök 23:44

Re: CALC CSV kódlapváltás

Hozzászólás Szerző: antiuhu »

Nem vagyok túl jártas a programozásban, így csak felvettem makrórögzítővel a mentést. :)

Kód: Egész kijelölése

sub WinLatin2
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///home/<username>/Dokumentumok/WinLatin2.csv"  'ide és ezen a néven fogja menteni a fájlt
args1(1).Name = "FilterName"
args1(1).Value = "Text - txt - csv (StarCalc)"
args1(2).Name = "FilterOptions"
args1(2).Value = "44,34,33,1,,0,true,true,true,false"

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())


end sub
A fenti kódhoz készítettem egy gombot:
- Eszközök --> Testreszabás... --> Eszköztárak
- Új ("csv_export")
- Makró hozzáadás (lásd a képen)
Mentés WinLatin2-be_gomb készítése
Mentés WinLatin2-be_gomb készítése
Igaz kicsit egyszerű megoldás, de nálam működik.
Megjegyzés:
1.) Mindig ugyanoda és ugyanazon a néven ment! Nem kérdez, felülír! Ezt még valahogy ki kellene küszöbölni.
2.) Nálam megy ods-be mentés nélkül is az átváltás, de anélkül is rengeteg kattintás.

üdv: Anti
ioros
Hozzászólások: 6
Csatlakozott: 2012. június 10., vasárnap 20:59

Re: CALC CSV kódlapváltás

Hozzászólás Szerző: ioros »

Antiuhu köszönöm a válaszod, így működik. Meg is csináltam a magamét. Az zavart meg, ha a 852-es kódlapú csv fájlt megnyitom, és itt próbálok egy mentés másként csv-be, akkor nem adja a párbeszéd ablakot, amiből ki tudnám választani a másik kódlapot, és a többi paramétert. Még egyszer köszönöm a gyors választ

üdv, Oros Imre
LibreOffice fresh MacOS 10.11.6
Válasz küldése