Eliminare diacritice

Sunt situaţii când avem nevoie să folosim, în aplicaţii MS Office (spre ex. în Excel), anumite cuvinte fără diacritice. În VBA se poate realiza relativ uşor acest lucru, folosind o astfel de funcţie (ExtendOffice):

Problema este că, dacă ne uităm cu atenţie, nu prea le găsim pe cele folosite în limba română (ş-urile, ţ-urile, nici chiar ă-ul „normal”). Dacă am încerca să le introducem în VBA am remarca că sunt automat convertite în alte caractere. 

Pentru a nu avea un astfel de stres, o soluţie elegantă este să recurgem la codurile ASCII. Dar, pentru că nu toate diacriticile româneşti fac parte din setul original ASCII, vom recurge la setul extins de caractere Unicode. Ne ajută folosirea funcţiilor Chr$ (pentru ASCII) şi ChrW (pentru Unicode).

Aşadar, mi-am permis să adaptez codul de mai sus, „românizându-l” şi privitor la numele variabilei, pentru a fi cât mai de înţeles acţiunea lor.

Desigur, dacă suntem interesaţi şi de alte litere cu diferite accente la care vrem să le convertim, le putem adăuga în acei vectori.

Dacă în Excel putem folosi această funcţie, în cazul în care folosim Google Sheets, putem converti funcţia în cod compatibil. Pentru aceasta, ar trebui urmaţi paşii:

  1.  În meniul Extensions alegem Apps Script.
  2. În editorul Apps Script, adăugăm codul de mai jos.
  1. Salvăm scriptul şi proiectul.
  2. În Google Sheets, vom scrie în maniera aceasta: =diacrit("B2") 

Author: Ovidiu.S

Suficient de pasionat de această zonă profesională ca, în cazul în care ştiu ceva - cât de puţin - să împărtăşesc cu alţii.

Leave a Reply