Stałe w kodzie skracają i porządkują nasz kod. Warto je przypisywać zwłaszcza do długich ciągów tekstowych – takich jak komunikaty MsgBox lub ścieżki do plików. W tym artykule przeczytasz o tym jaka jest największa korzyść z ich stosowania.
Kiedy Używać Stałych?
Osobiście korzystam ze stałych praktycznie wszędzie gdzie się da. Są to głównie:
- Nazwy skoroszytów.
- Adresy plików i katalogów.
- Treści komunikatów MsgBox.
- Opisy zgłoszonych przeze mnie błędów.
Przykład z Życia
Załóżmy, że w kodzie odwołujemy się wiele razy do zewnętrznego pliku Dane_pracowników.xlsm.
Po jakimś czasie stwierdzamy, że lepszą nazwą byłoby jednak krótsze Pracownicy.xlsm.
Jak to zmienić w kodzie? Musimy kliknąć Ctrl+H aby zamienić jeden tekst na drugi w całym projekcie. Wprowadza to pewne ryzyko, związane z nieumiejętnym wykonaniem tej operacji.
Wprowadzając do naszego projektu stałą
gsPLIK_PRACOWNICY = “Dane_pracowników.xlsm”
i odwołując się do niej konsekwentnie w kodzie zyskujemy kontrolę nad aplikacją.
Jeśli zechcemy zmienić nazwę pliku, zamiast Ctrl+H wystarczy zmienić wartość tej stałej na Pracownicy.xlsm. Całość będzie działać, ponieważ w kodzie odwołujemy się do stałej gsPLIK_PRACOWNICY, a nie do nazwy pliku.
Porządek w Stałych
Stałe w kodzie, podobnie jak i zmienne, mogą mieć różny zasięg. Mogą także przechowywać różny typ wartości. Dodatkowo, jak już wspomniałem, mogą się odnosić do różnych kategorii informacji.
Czy jest jakiś sposób aby zapanować nad wszystkimi stałymi? Tak, ale wymaga to pewnej dyscypliny w nazewnictwie.
Po pierwsze, zdecydowanie warto użyć prefiksów. Pierwsza litera do określenia zasięgu stałej. druga do typu zwracanej wartości.
Po drugie, zdecydowanie warto podzielić stałe na grupy, logicznie je uporządkować.
Stałe publiczne najlepiej trzymać w osobnym, dedykowanym module.
Całość może wyglądać np. w ten sposób.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
' Ścieżki do plików Public Const gs_KATALOG_WINDOWS As String = "C:\WINDOWS" Public Const gs_KATALOG_PROGFILES As String = "C:\Program Files" ' Temat i treść mejla Public Const gs_MAIL_TEMAT As String = "Plik z podsumowaniem" Public Const gs_MAIL_TRESC As String = "Witam" & vbCr & _ "Przesyłam plik, o którym rozmawialiśmy" ' Błędy - numery i komunikaty Public Const gi_BRAK_FOLDERU_APL As Integer = "9999" Public Const gs_BRAK_FOLDERU_APL As String = "Brak katalogu aplikacji!" |