none
Odstranění diakritiky znakové sady RRS feed

  • Dotaz

  • Na odstranění diakritiky v prostředí VBA lze nalézt na WWW v podstatě jen jeden postup, jednotlivými autory mírně obměňovaný - jedna proměnná obsahuje řetězec znaků s diakritikou a druhá tytéž znaky bez diakritiky. V první sadě se vyhledá požadovaný znak a nahradí se odpovídajícím znakem ze sady bez diakritiky. Tohle funguje dobře do chvíle, kdy se narazí buď na znak, se kterým autor makra nepočítal (třeba ö), anebo makro sestavené pro prostředí jedné kódové stránky (např. češtiny) se použije v prostředí jiné kódové stránky (němčiny, slovenštiny,...). 

    Obecné řešení jsem našel u autora kolegy Jecha, viz :

    jenže toto řešení, elegantní a obecné, nelze použít v prostředí VBA! Využívá možnosti převést znaky na UNICODE (až potud to ve VBA jde), ty s diakritikou rozloží na diakritcký symbol a znak abecedy (například č rozloží na háček a znak c), háček následně smaže a zbude mu text bez diakritiky.  Rutina v odkazu popsaná je v programu VB a ve VBA použít nelze. Uměl by někdo poradit, jak na to?

    sobota 11. února 2012 13:44

Odpovědi