Nieraz w kodzie programu stosujemy wartości, które nie zmieniają się podczas jego wykonywania lub też stosujemy wartości trudne do zapamiętania i nie mające oczywistego znaczenia. Możemy jednak kod programu uczynić łatwiejszym do czytania i modyfikowania wykorzystując stałe. Stała jest nazwą o określonym znaczeniu, która zastępuje niezmienną w kodzie programu wartość liczbową lub ciąg znaków. Nie można zmodyfikować stałej lub przypisać do niej nowej wartości, tak jak jest to możliwe w przypadku zmiennej. Stałą możemy zastosować w kodzie programu celem na przykład zagwarantowania niezmienności pewnej wartości.
stała - element o nadanej nazwie, który zachowuje stałą wartość przez cały czas działania programu. Stała może być ciągiem znaków lub literałem numerycznym, inną stałą lub dowolną kombinacją zawierającą operatory arytmetyczne i logiczne, z wyjątkiem operatora Is oraz operatora potęgowania. Każda aplikacja główna może definiować własny zestaw stałych. Dodatkowe stałe mogą być definiowane przez użytkownika za pomocą instrukcji Const. Stałych można użyć w dowolnym miejscu kodu programu zamiast ich rzeczywistych wartości.
Jeżeli chcemy utworzyć stałą to musimy ją zadeklarować. Jest to operacja polegająca na nadaniu jej nazwy i przypisaniu odpowiedniej wartości oraz na ewentualnym określeniu typu i dostępności. Jeżeli zadeklarujemy stałą to jednocześnie przydzielamy jej pamięć. Stałą możemy zadeklarować wewnątrz konkretnej procedury lub w sekcji deklaracji modułu kodu. Miejsce deklaracji ma wpływ na dostępność danej stałej.
Do deklaracji stałej i nadania jej wartości służy słowo kluczowe Const.
Const WartośćGraniczna = 459
Możemy też podczas deklaracji określić typ danych jakie dana stała będzie przechowywała.
Const WartośćGraniczna As Integer = 459
Zwróćmy uwagę że w bardzo podobny sposób deklarujemy zmienne. Różnica polega na tym że w instrukcji deklaracji stałej stosując operacje przypisania podajemy jej (niezmienną) wartość. W instrukcji deklaracji stałej celem określenia jej zasięgu możemy też użyć słów kluczowych: Public i Private, szczegóły przedstawiam poniżej.
Zakres stałej czyli to, w jakich częściach programu jest ona dostępna, określamy podczas jej deklarowania. Zakres ten zależy od:
miejsca, w którym stała jest zadeklarowana, w sekcji deklaracji modułu czy wewnątrz konkretnej procedury.
za pomocą jakiego słowa kluczowego tj. Public, Private stała została zadeklarowana.
Poniżej przedstawiam kilka przykładów deklaracji. Tekst w kolorze zielonym zaczynający się od znaku ' jest komentarzem i nie ma wpływu na działanie przykładów.
Const LiczbaPi = 3.14159265359 'za pomocą słowa kluczowego Const deklarujemy stałą o nazwie LiczbaPi, która w naszym przypadku przechowuje właśnie wartość liczby Pi. Jeżeli instrukcje deklarującą stałą umieścimy wewnątrz procedury to stała ta dostępna jest tylko wewnątrz tej procedury. Jeżeli zaś instrukcję tą umieścimy poza procedurą w sekcji deklaracji modułu to stała ta będzie dostępna dla wszystkich procedur danego modułu.
Public Const LiczbaPi = 3.14159265359 'stałe zadeklarowane na poziomie modułu są domyślnie prywatne czyli widoczne i dostępne tylko wewnątrz tego modułu. Aby zadeklarować stałą publiczną czyli dostępną we wszystkich procedurach wszystkich modułów, należy poprzedzić instrukcję Const słowem kluczowym Public. Stałe publiczne możemy deklarować tylko w sekcji deklaracji modułu standardowego. Nie można deklarować stałych publicznych w procedurach czy modułach klas.
Private Const LiczbaPi = 3.14159265359 'możliwe jest także jawne zadeklarowanie stałej prywatnej, przez poprzedzenie instrukcji Const słowem kluczowym Private. Słowo kluczowe Private wykorzystujemy do jawnego zadeklarowania stałej prywatnej, celem poprawienia czytelności kodu. Stosowanie go w procedurach jest niedozwolone.
Stałe są bardzo bogato reprezentowane jako elementy wbudowane języka VBA oraz aplikacji Office. Informacje na temat tych stałych znajdziesz między innymi w Przeglądarce obiektów. Ponieważ stałe te są zawsze dostępne, nie można definiować stałych użytkownika o takich samych nazwach. Z tego typu stałymi spotkasz się w dalszej części kursu na przykład na stronie Okno komunikatu funkcji MsgBox.
Private Sub CommandButton1_Click() On Error GoTo problem Const LiczbaPi = 3.14159265359 Dim Promień, Pole, Obwód Promień = InputBox("Podaj promień koła") If Promień = "" Then MsgBox "Brak poprawnych wartości lub operacja została anulowana" Exit Sub Else Pole = LiczbaPi * Promień * Promień Obwód = 2 * LiczbaPi * Promień MsgBox "Pole koła wynośi " & Pole & ", obwód " & Obwód End If Exit Sub problem: MsgBox "Wystąpił błąd w programie. " & Err.Description & ", wprowadź poprawne wartości" End Sub
Jest to praktycznie w pełni funkcjonalny przykład w którym na podstawie podanego promienia obliczamy pole i obwód koła. W przykładzie wykorzystaliśmy instrukcje Const do zadeklarowania stałej przechowującej wartość liczby Pi.
Celem sprawdzenia nabytej wiedzy chciałbym abyś samodzielnie wykonał przykład. Jeżeli masz jakieś trudności to zapoznaj się z innymi przykładamy kursu lub po prostu napisz. Podam tylko że przykład w przedstawionej formie działa po kliknięciu na Przycisk polecenia o nazwie CommandButton1.
Przeglądarka obiektów - okno dialogowe, które służy do przeglądania zawartości biblioteki obiektów w celu znalezienia informacji na temat dostępnych obiektów.
|