Telefonszámunk: 1-472-0679

csv mentése, hogy a speciális karakterek megmaradjanak

Kezdőlap Fórumok Excel programozás csv mentése, hogy a speciális karakterek megmaradjanak

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #3285
    raa
    Felhasználó

      Szia Imre!

      Ismerős lesz a téma, mert együtt csináltuk. 🙂 Egy exportált csv file-ban az excelben történt módosítás után SavAs-zel újra el kellene menteni csv-ként. Az új igény, amire fél nap keresgélés után sem találtam megoldást, az az hogy speciális karaktereket is tartalmaz az exportált csv (ö, ű, Ł …). Ezt a SaveAs ?-re cseréli.

      Először azt hittem a TextCodepage megoldja a problémát, de nem.

      Arra gondolok hogy lehet, hogy ez nem is excel programozási kérdés, hanem excel, mert ha le akartam modellezi makró nélkül akkor is ?-re cserélte. Eddig azt sikerült kiderítenem, hogy a magyar excelben jól működik a mentés, de az angolban nem.

      Ha lenne valami megoldást, fontos lenne beépíteni a kódba is, ezért írtam a programozás alá.

      Köszönöm előre is,

      Anikó

      #3286
      horvimi
      Adminisztrátor

        Szia Anikó!

        Jól látod, ez Excel probléma. Az a gond, hogy a CSV eredetileg sima ASCII kódoláshoz lett kitalálva, amerikában, ahol nincsenek speciális karakterek.
        Ezen korlát miatt vezették be az UTF (Unicode) kódolást.
        Az Excel viszont nem tud UTF kódolt csv-t menteni.

        (Mondjuk az ö és ű betűkkel nem kellene problémának lennie.)
        Lehet, hogy a fájl eredetileg másként van kódolva?

        A mentés másként-ben van egy ‘Unicode text’mentési lehetőség, ami jó lenne, tehát elvileg megmaradnak a spec karakterek, de cserébe viszont TAB delimitert tesz a text fájlba.

        Egyik lehetőség, hogy elmented makróval ilyen TAB delimitált txt-be, majd kinyitod notepad-el, és kicseréled a TAB-okat pontosvesszőre, elmented Unicode-ban.
        Ez elég béna, és akárki nem is tudja megcsinálni.

        Másik lehetőség lehet, hogy az adatokat cellánkét, soronként kell egy új fájlba menteni.
        Ez nem egy sima mentés másként, hanem le kell programozni, és úgy menteni a végén.

        Ezt találtam:
        http://stackoverflow.com/questions/2524703/save-text-file-utf-8-encoded-with-vba

        Ezt esetleg még megpróbálhatod:
        http://superuser.com/questions/466267/excel-destroying-special-character-when-saved-as-csv

        Imre

        • A hozzászólás módosításra került: 7 years, 10 months telt el-horvimi.
        #3312
        Titok
        Felhasználó

          A tudomány határtalan.
          Ezt onnan lehet tudni, hogy még egyetlen egy tudósnál sem találtak egyszerre 6 árt! 🙂

          Szóval, ha ez gyakran kell, akkor Importáld ACCES-ba, onnan exportáld szövegfájlként, csak a végén csv kiterjesztéssel. Az export és import lépéseket tudod menteni is.
          És jé! Működik!

        3 bejegyzés megtekintése - 1-3 / 3
        • Be kell jelentkezni a hozzászóláshoz.