VBA – Dlaczego w nazwach funkcji nie powinno się używać polskich znaków?

Od zawsze programując (nie tylko w VBA) starałem się nie używać w nazwach funkcji, procedur czy zmiennych polskich ogonków. Dlaczego? Bo pamiętam czasy przed Windowsem 95, gdzie istniało kilkanaście różnych „standardów” kodowania polskich znaków. Chyba każdy programista w tamtych czasach ucząc się jakiegoś języka programowania (np. QBasic, Turbo Pascal, C/C++) w ramach ćwiczenia praktycznego pisał własny program do konwersji polskich ogonków z jednego standardu do drugiego.

Ba sam pamiętam, że przez dość długi czas (powiedzmy tak mniej więcej do czasów premiery Windowsa XP) pisałem maile bez polskich ogonków bo nie wiedziałem jaki system operacyjny ma mój odbiorca i bałem się, że zamiast polskich ogonków zobaczy „krzaki”.

Pobierz przykładowe makro zawierające polskie ogonki w nazwie procedury.

Napisałem proste makro, które „rysuje szachownicę”. Wystarczy kliknąć w przycisk Rób szachownicę i uruchomi się procedura o nazwie Rób_Szachownicę()

Tak prezentuje się kod pod Windowsem

Natomiast tutaj mam pewną ciekawostkę. Otóż w kodzie VBA znaki są kodowane w ASCII a w arkuszach Excela w Unicode. Gdy otworzyłem ten plik na MacOS to po kliknięciu w przycisk pojawił się taki oto komunikat

Z komunikatu można wywnioskowac, że procedura o nazwie Rób_Szachownicę nie istnieje. Po otworzeniu edytora VBA widzimy coś takiego:

Wniosek: jeśli programujesz w VBA (i nie tylko w VBA) lepiej jest nie używać polskich ogonków w nazwach funkcji i procedur.

Ten wpis został opublikowany w kategorii VBA porady i oznaczony tagami , . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.