O constantă este un element cu nume care păstrează o valoare constantă în timpul executării unui program. VBA oferă multe constante încorporate, dar se pot declara propriile constante pentru a lucra cu informații care rămân constante în procedură. Mulți programatori folosesc variabile în loc de constante, chiar și pentru valori care nu se vor schimba. Totuși, pot fi folosite și constante dacă acest lucru se consideră necesar.
Pentru a declara propriile constante, se folosește instrucțiunea Const. Prin declararea unei constante, codul poate fi simplificat atunci când valoarea ei se refolosește de mai multe ori în procedură.
Sintaxa
Sintaxa pentru instrucțiunea Const este următoarea:
[Public/Private] Const constanta [As type] = expression
Aici, Public/Private sunt cuvinte cheie opționale utilizate pentru declararea unui domeniu public sau privat pentru acea constantă. Numele constantei este constanta
, care trebuie să respecte regulile normale pentru denumirea variabilelor. Argumentul optional type
specifică tipul de date al constantei. Valoarea expression
poate fi literală (o valoare scrisă în cod), o altă constantă sau o combinație a celor două.
Ca și în cazul variabilelor, se pot declara mai multe constante în aceeași linie separând instrucțiunile cu o virgulă:
Const conSolist As String = "Smiley", _
conPretBilet As String = "$10.50"
Exemplu
Declararea unei constante în VBA funcționează într-un mod similar cu declararea explicită a unei variabile, dar valoarea constantei se declară odată cu declararea constantei (în loc să fie declarată într-un punct ales ulterior). Ulterior, valoarea ei nu se mai poate schimba.
Exemple de comenzi:
Const conLocatie As String = "Sala Palatului"
Const conData As Date = #December 31, 2019#
MsgBox "Concertul are loc la " & conLocatie & " pe data de " _
& conData & "."
Prima linie declară constanta conLocatie
de tip de date String și îi atribuie datele Sala Palatului.
Pe a doua linie se declară constanta conData
ca tip șir de date și îi atribuie data de 31 decembrie 2019. (După crearea acestei linii de cod și mutarea punctului de inserție pe o altă linie, VBA modifică data la formatul de dată setat în ceasul computerului, de exemplu # 12/31/2019 #.)
A treia linie afișează o casetă de tip MsgBox care conține un șir concatenat din cele trei elemente de text între ghilimele duble, constanta șir conLocatie și constanta de tip dată conData.
Alegerea scopului sau a duratei de viață pentru constante
Domeniul de aplicare (Scope) funcționează ca și la variabile. Într-o procedură, valoarea implicită a unei constante declarate este locală - adică, domeniul său de aplicare este doar în procedura în care este declarată. În consecință, durata sa de viață este timpul în care se execută procedura. Dar se pot stabili un domeniu și o durată de viață diferită pentru constante, utilizând cuvântele cheie Public sau Private.
♦ Pentru a declara o constantă privată, declarația se plasează la începutul modulului. Condiția de viață a unei constante private nu este limitată, dar este disponibilă numai pentru procedurile din modulul în care este declarată:
Private Const conSolist As String = "Smiley"
♦ Pentru a declara o constantă publică, declarația se plasează la începutul modulului. Durata de viață a unei constante publice nu este limitat și constanta este valabilă pentru toate procedurile din toate modulele din proiectul în care este declarată:
Public Const conPretBilet As String = "$10.50"