Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows Phone
  • Ce înseamnă DIM în Visual Basic și BASIC? Subrutine ale limbajului de bază. Necesită declararea explicită a variabilei

Ce înseamnă DIM în Visual Basic și BASIC? Subrutine ale limbajului de bază. Necesită declararea explicită a variabilei

Dim avea sensuri diferite atribuite lui.

Am găsit referințe la valoarea Dim „Declară în memorie”, linkul mai relevant este documentul Dim Statement publicat de Oracle ca parte a referințelor limbajului Siebel VB. Desigur, puteți argumenta că dacă nu declarați variabile în memorie, unde o faceți? Pot fi „Declară în modul” - alternativa buna, având în vedere modul în care este folosit Dim.

După părerea mea, „Declarare în memorie” este de fapt un mnemonic creat pentru a face mai ușor să înveți cum să folosești Dim . Văd „Declară în memorie” drept cel mai bun sens, deoarece descrie ceea ce face versiunile curente limbaj, dar acesta nu este sensul corect.

De fapt, la origini Basic Dim folosit doar pentru a declara matrice. Nu a fost folosit niciun cuvânt cheie pentru variabilele obișnuite, în schimb tipul lor a fost dedus din numele lor. De exemplu, dacă numele variabilei se termină în $ , atunci este un șir (ceea ce ați putea vedea chiar și în numele metodelor pre-VB6, cum ar fi Mid$). Deci ați folosit doar Dim pentru a măsura dimensiunile matricei (rețineți că ReDim redimensionează matricele).

Chiar contează? Adică acest cuvânt cheie are sens în limbaj artificial. Nu trebuie să fie un cuvânt în engleză sau în orice altă limbă naturală. Deci nu poate însemna decât ceea ce îți dorești, tot ce contează este că funcționează.

În orice caz, acest lucru nu este în întregime adevărat. Pentru că BASIC face parte din cultura noastră și înțelege de ce este modul în care sper că va ajuta la îmbunătățirea viziunii noastre despre lume.

Stau la computer cu dorința de a contribui la păstrarea acestei mici bucăți din cultura noastră care pare pierdută, înlocuită de ghicitul nostru ce a fost. Așa că am dezgropat MSDN atât CD-urile actuale, cât și cele vechi din versiunea din 1998. De asemenea, am căutat în documentație vechiul QBasic [ar fi trebuit să folosească DOSBox] și am reușit să obțin manualul Dartmouth pentru a vedea ce spun ei despre Dim . Spre dezamăgirea mea, ei nu spun ce înseamnă Dim, ci doar cum este folosit.

Dar înainte ca speranța mea să se întunece, am reușit să găsesc acest manual al microcomputerului BBC (care se pretinde a fi din 1984 și nu am nicio îndoială). Microcomputerul BBC a folosit o variantă de BASIC numită BBC BASIC și este descrisă în document. Chiar dacă nu spune ce înseamnă Dim, el spune (la pagina 104):

Puteți măsura N$ pentru a avea câte înregistrări doriți. De exemplu, DIM N $(1000) va crea o matrice de șiruri cu spațiu pentru 1000 de nume diferite.

După cum am spus, nu spune că Dim înseamnă dimensiune, dar este dovada că asocierea lui Dim cu Dimension era comună la momentul scrierii acestui articol.

Acum am primit o surpriză suplimentară mai târziu (la pagina 208), titlul secțiunii care descrie cuvântul cheie DIM (notă: acesta nu este listat în conținut) spune:

Dimensiunea matricei DIM

Deci, nu am primit citatul „Dim stands...”, dar cred că este clar că orice persoană decentă, capabilă să citească acest document, l-ar considera pe Dim dimensiune.

Cu o nouă speranță, am decis să găsesc o modalitate de a selecta Dim . Din nou, nu am găsit cont pe acest subiect, dar am reușit să găsesc citatul definitiv:

Înainte de a putea utiliza o matrice, trebuie să o definiți într-o instrucțiune DIM (dimensiune).

Puteți găsi acest lucru ca parte a Ghidurilor de utilizare online True BASIC pe pagina web a True BASIC inc, o companie fondată de Thomas Eugene Kurtz, co-inventatorul BASIC.

Deci, în timpul reutilizare Dim este prescurtarea pentru Dimensiune si da. Acest lucru a existat în FORTRAN înainte, așa că este probabil să fi fost ales de influența FORTRAN, așa cum a spus Patrick McDonald în răspunsul său.

Dim sum ca șir = „aceasta nu este o masă chinezească” Exemplu de utilizare REM în VB.NET ;)

Declara o variabila sau o matrice.

Dacă variabilele sunt listate separate prin virgule (de exemplu, DIM sPar1, sPar2, sPar3 AS ȘIR), doar variabila Variant poate fi definită. ÎN caz general, fiecare variabilă trebuie definită pe o linie separată.

DIM spar1 ca șir

DIM spar2 AS ȘIR

DIM spar3 ca șir

Dim declară variabilele locale în proceduri. Instrucțiunile PUBLIC și PRIVATE sunt folosite pentru a declara variabile globale.

Sintaxă:

Dim Variable [(De la început la sfârșit)] [, Variable2 [(De la început la sfârșit)] [,...]]

Parametri:

Variabilă: un nume arbitrar pentru o variabilă sau o matrice.

Start, End: valori numerice sau constante care specifică numărul de elemente (Number_of_elements=(Start-End)+1) și intervalul de index.

Start și End pot fi, de asemenea, expresii numerice dacă ReDim este aplicat la nivel de procedură.

Tip: un cuvânt cheie care declară tipul variabilei.

Cuvânt cheie: tip variabil

Bool: variabilă de tip boolean (adevărat, fals)

Moneda: o variabilă de tip Currency (o valoare a monedei cu o lungime a fracțiunii de 4 poziții)

Data: Variabila de tip Data

Dublu: variabilă cu virgulă mobilă de precizie dublă (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: variabilă de tip Integer (-32768 - 32767)

lung: variabil tip lung Număr întreg (-2 147 483 648 - 2 147 483 647)

Object: variabilă de tip Object (Notă: această variabilă poate fi definită numai ulterior folosind instrucțiunea Set!)

Singur: variabilă de tip unic (3,402823 x 10E38 - 1,401298 x 10E-45)

String: variabilă de tip String cu lungime maxima 64.000 de caractere ASCII.

: variabilă de tip Variant (acoperă toate tipurile, așa cum este definită). Dacă cuvântul cheie nu este specificat, atunci variabilele sunt definite automat ca variabile de tip Variant, cu excepția cazului în care se folosește operatorul din gama DefBool - DefVar.

În limbajul Basic Lotus® Symphony™, variabilele nu trebuie să fie declarate explicit. Singura excepție sunt matricele. O variabilă poate fi declarată folosind instrucțiunea Dim; dacă există mai multe declarații, acestea sunt separate prin virgulă. Pentru a declara tipul unei variabile, specificați un caracter de declarare a tipului după numele acesteia sau introduceți cuvântul cheie corespunzător.

În limbajul Basic Lotus Symphony, puteți defini unidimensional sau tablouri multidimensionale, specificând tipul de variabilă adecvat. Matricele sunt utile pentru a lucra cu liste și tabele. Elementele matricei pot fi accesate prin index, care poate fi specificat printr-o expresie numerică sau o variabilă.

Matricele sunt declarate cu instrucțiunea Dim. Un interval de index poate fi definit în două moduri:

Text DIM(20) ca șir de elemente REM 21 numerotate de la 0 la 20

Text DIM (5 la 25) ca șir de elemente REM 21 numerotate de la 5 la 25

Text DIM (-15 la 5) ca șir de elemente REM 21 (inclusiv 0)

REM cu numerele de la -15 la 5

Câmp de date 2D

Text DIM(20,2) ca șir de elemente REM 63 numerotate de la 0 la 20 nivelul 1, de la 0 la 20 nivelul 2 și de la 0 la 20 nivelul 3

Tipurile de matrice pot fi declarate dinamice dacă instrucțiunea ReDim specifică numărul de dimensiuni din procedura sau funcția care conține matricea. În general, dimensiunea unui tablou este definită o singură dată și nu poate fi modificată. O matrice poate fi declarată într-o procedură folosind instrucțiunea ReDim. Dimensiunile pot fi determinate numai folosind expresii numerice. Acest lucru asigură respectarea restricțiilor privind lungimea câmpului.

Exemplu:

Dim sVar As String

Dim iVar ca număr întreg

sVar = „Lotus Symphony”

REM Câmp de date bidimensional

Dim stext(20,2) ca șir

Const sDim as String = " Dimensiune:"

stext(i,ii) = str(i) & sDim & str(ii)

Majoritatea oamenilor preferă să nu folosească identificatori pentru a desemna variabile. În schimb, folosesc operatorul Dim, o astfel de operație se numește - reclame. De exemplu:

Dim A ca număr întreg

Dim B ca șir

Declarațiile variabile pot fi combinate pe aceeași linie.

Dim A ca întreg, Nume ca întreg

O greșeală comună este folosirea următoarei expresii:

Dim X, Y, Z ca întreg

Presupunerea este că toate variabilele vor fi numere întregi. De fapt, X și Y vor fi declarate ca Variant și numai Z ca întreg. Pentru a evita acest lucru, trebuie să utilizați de fiecare dată identificatorul de tip. Dacă o variabilă este declarată folosind instrucțiunea Dim, dacă este utilizată o variabilă cu același nume și un identificator diferit tipul se va întâmpla eroare „dublă definiție” la încărcarea programului.

Când atribuiți o variabilă de tip Variant, puteți utiliza operatorul -Dim fără prefixul -AS. De exemplu:

Necesitatea de a declara variabile.

Una dintre cele mai greșeli comuneîn program este utilizarea variabilelor nedeclarate. Problema este că Visual Basic vă permite să creați o variabilă de îndată ce aceasta apare o dată în program. Dacă amestecați numele unei variabile, Visual Basic creează una nouă cu un nume similar și îi atribuie o valoare implicită, ceea ce duce imediat la o eroare. Această eroare este greu de identificat deoarece numele variabilelor sunt foarte asemănătoare.

Cel mai simplu mod a evita o asemenea greseala constă în declararea forţată a tuturor variabilelor. Visual Basic afișează un mesaj când există o eroare în nume. Visual Basic oferă această capacitate, dar nu este utilizată implicit. Operatorul necesar pentru aceasta se numește Opțiune explicită.

Pentru verificare generală variabilele din program, trebuie să plasați instrucțiunea Option Explicit în secțiunea General.

Pentru a plasa operator datîn secțiunea General aveți nevoie de:

Deschide fereastra Cod

Selectați obiectul General din lista de obiecte din fereastra Obiect

Selectați Declarație din lista Procedură

Introduceți opțiunea explicită.

Modificarea valorilor implicite pentru tipuri

Să presupunem că toate variabilele din program trebuie să fie numere întregi. Pentru comoditate, operatorul DefType este utilizat în acest caz. Pentru toate variabilele întregi, arată astfel:

Definit A-Z

Forme de bază ale diferiților operatori DefType

Convențiile de tip pot fi întotdeauna modificate folosind un identificator sau instrucțiunea Dim pentru o anumită variabilă. De obicei, instrucțiunea DefType este plasată în aceeași secțiune (General) ca instrucțiunea Option Explicit.

Domeniu variabil

Programatorii folosesc termenul scope atunci când doresc să vorbească despre posibilitatea de a folosi o variabilă dintr-o parte a programului în altă parte a acestuia. În Visual Basic declararea variabilelorîn interiorul unei proceduri sunt izolate unele de altele. În termeni de programare, aceasta înseamnă că aceste variabile sunt local.

6. Declararea variabilelor: instrucțiunea Dim for tipuri variate date

Cel mai adesea, oamenii încearcă să nu folosească identificatori atunci când indică tipul unei variabile (în special pentru tipuri precum data/ora). În schimb, folosesc declarația Dim. O astfel de operațiune se numește declarație. Declararea tipurilor de variabile atunci când se manipulează evenimente înainte de a le folosi - desigur, cu comentarii - este stil bunîn programare. De asemenea, face posibilă îmbunătățirea „lizibilității” textelor programului.

Dacă o variabilă este declarată folosind instrucțiunea Dim, utilizarea unei variabile cu același nume și un identificator de tip diferit va avea ca rezultat o eroare de „definiție dublă” atunci când programul este rulat. De exemplu, dacă următoarea expresie Dim Count As Integer declară o variabilă Count, atunci nu puteți utiliza variabile Counts, Count! Count# și Count®. Ar trebui să utilizați numai numele Count%, dar aceasta este doar o altă formă pentru numele variabilei Count.

Pentru a atribui un tip de variantă unei variabile, utilizați operatorul Dim fără As:

Dim F00 tratează F00 ca pe o variabilă a variantei de tip.

Îl poți scrie și așa: Dim Foo As Variant - este mai ușor de citit.

Fiecare informație care ar trebui să fie disponibilă pentru toate procedurile de eveniment asociate cu formularul este plasată în secțiunea (General) a formularului.

Pentru a plasa Opțiunea explicită în secțiunea (General), urmați acești pași.

1. Deschideți fereastra Cod.

2. Selectați un obiect (General) din lista de obiecte oferită în fereastra Obiect.

3. Selectați (Declarație) din lista Proc.

4. Introduceți Opțiunea explicită.

Este adesea necesar să folosiți declarații la nivel de formular în secțiunea (General) atunci când utilizatorul experimentează cu programe eșantion din sistem de ajutor.

Pentru a copia un exemplu de program din sistemul de ajutor, utilizați butonul Copiere din fereastra Exemplu de cod. Puteți utiliza apoi opțiunea Lipire din meniul Editare pentru a lipi exemplul în fereastra Cod. Când Visual Basic întâlnește o comandă Option Explicit, nu mai permite variabile nedeclarate. Dacă tot încercați să utilizați o astfel de variabilă, va fi afișat un mesaj de eroare.

Pentru a aplica o declarație obligatorie de tip variabilă, puteți utiliza Editor de pagini din caseta de dialog Tools|0ptions. Programatorul bifează întotdeauna această casetă. După aceea, instrucțiunea Option Explicit este plasată automat în acele locuri din cod unde este necesară.

Din cartea Să construim un compilator! de Crenshaw Jack

Din cartea Internet Intelligence [Ghid de acțiune] autor Iuşciuk Evgheni Leonidovici

Metamotoare de căutare de pe Internet cu exemple de căutare a diferitelor tipuri de informații Sistem informatic, care ar combina avantajele tuturor motoarelor de căutare

Din carte Tehnologii de server stocarea datelor în Mediul Windows® 2000 Windows® Server 2003 de Dilip Naik

Capitolul 10 Capabilitățile subsistemului de stocare în diverse versiuni Windows NT Capitolele anterioare au analizat arhitectura Windows în termeni de capabilități specifice ale subsistemului de stocare. Acest capitol este destinat profesioniștilor care utilizează subsisteme de stocare

Din cartea HTML 5, CSS 3 și Web 2.0. Dezvoltarea de site-uri web moderne. autor Dronov Vladimir

Din cartea HTML 5, CSS 3 și Web 2.0. Dezvoltarea de site-uri web moderne autor Dronov Vladimir

Declararea variabilelor Înainte de a utiliza o variabilă în codul de script Web, este recomandat să o declarați. Pentru aceasta, se folosește operatorul de declarare a variabilei var, după care se indică numele variabilei: var x; Acum variabilei declarate i se poate atribui orice

Din cartea VBA pentru dumies autorul Cummings Steve

Declararea variabilelor După cum sa discutat în Capitolul 6, o declarație este o instrucțiune VBA pe care o utilizați pentru a spune compilatorului că intenționați să utilizați un obiect numit și pentru a descrie în mod explicit tipul acelui obiect. Declarațiile sunt cel mai frecvent utilizate pentru

Din cartea Limbajul de programare C pentru calculator personal autorul Bochkov S. O.

Declararea mai multor variabile pe o linie Pe o linie codul programului De asemenea, puteți declara mai multe variabile. Cuvântul cheie Dim este tipărit o singură dată, iar variabilele sunt separate prin virgule. Dar nu uitați să specificați tipul de date pentru fiecare dintre variabilele din

Din cartea The Art of Scripting Programming shell de comandă de Cooper Mendel

Din carte programare Linuxîn exemple autor Robbins Arnold

Declararea variabilelor de tip personalizat Ca și tipurile de date încorporate, tip personalizat rămâne un concept abstract până când declarați o variabilă de tipul adecvat. Acest lucru nu necesită nimic special - sintaxa standard este în regulă

Din cartea Sfârșitul Holivarului. Pascal vs C autorul Krivtsov M. A.

Declararea variabilelor de clasă Pentru a declara variabilele care vor fi necesare în mai multe proprietăți sau metode, utilizați secțiunea Declarații de la începutul modulului de clasă. Declarați întotdeauna aceste variabile ca locale (Private), deoarece obiectele sunt destinate în principal

Din cartea autorului

Declarații de variabile Această secțiune oferă o descriere consecventă a sintaxei și semanticii declarațiilor de variabile. Varietățile de variabile sunt enumerate în următorul tabel: Tabelul 3.4. Tip de variabilă Explicație Variabilă simplă Variabilă scalară a unui număr întreg sau

Din cartea autorului

Declarație de date Dacă un cuvânt cheie aproape, departe sau imens este urmat imediat de un identificator, aceasta înseamnă că elementul de date corespunzător va fi plasat într-un segment de date standard (pentru aproape) sau poate fi plasat într-un alt segment de date (pentru departe sau uriaș). ). De exemplu,

Din cartea autorului

9.4. Declararea variabilelor: declarare și typeset Declarațiile declare și typeset sunt instrucțiuni încorporate (sunt absolut identice între ele și sunt sinonime) și au scopul de a impune restricții asupra variabilelor. Aceasta este o încercare foarte slabă de control al tipului, care

Din cartea autorului

8.1.2. O prezentare generală a diferitelor tipuri de sisteme de fișiere Discuție în aceasta sectiune Specific Linux. Cu toate acestea, multe moderne sisteme Unix au și caracteristici similare. Vă recomandăm să studiați documentația pentru sistemul dumneavoastră. Din punct de vedere istoric, V7 Unix a suportat un singur tip

Din cartea autorului

Tipuri standard datele și declararea variabilelor Valoarea atribuită unei variabile trebuie să corespundă tipului acesteia specificat în secțiunea descriere. Există patru tipuri standard de valori în Pascal (în plus față de cele care pot fi definite suplimentar în fiecare program -

Din cartea autorului

Tipuri de date standard și declarații de variabile int - integerlong - long integershort - short integerunsigned - unsigned integerfloat - realdouble - long realchar - caracter Spre deosebire de Pfscal, nu există variabile logice în C. Exemple de declarații de variabile:

În VBA, ca în orice alt limbaj de programare, variabilele și constantele sunt folosite pentru a stoca orice valoare. După cum sugerează și numele, variabilele se pot schimba, în timp ce constantele stochează valori fixe.

De exemplu, constanta Pi stochează valoarea 3.14159265... Numărul „Pi” nu se va schimba în timpul execuției programului, dar este totuși mai convenabil să stocați o astfel de valoare ca constantă.

În același timp, putem folosi variabila sVAT_Rate pentru a stoca cota de TVA la bunurile achiziționate. Valoare variabilă sVAT_Rate poate varia in functie de produsul achizitionat.

Tipuri de date

Toate variabilele și constantele sunt de un anumit tip de date. Tabelul de mai jos listează tipurile de date utilizate în VBA cu o descriere și un interval de valori posibile:

Tip de date mărimea Descriere Interval de valori
octeți 1 octet Numere întregi pozitive; adesea folosit pentru date binare de la 0 la 255
boolean 2 octeți Poate fi adevărat sau fals adevărat sau fals
Întreg 2 octeți numere întregi (fără parte fracțională) de la -32 768 la +32 767
Lung 4 octeți numere întregi mari (fără parte fracțională) de la -2 147 483 648 la +2 147 483 647
Singur 4 octeți Număr cu virgulă mobilă de precizie unică de la -3.4e38 la +3.4e38
Dubla 8 octeți Număr cu virgulă mobilă de dublă precizie -1,8e308 până la +1,8e308
Valută 8 octeți Număr în virgulă mobilă, cu un număr fix de zecimale de la -922 337 203 685 477.5808 până la +922 337 203 685 477.5807
Data 8 octeți Data și ora - Datele de tip Data sunt reprezentate de un număr în virgulă mobilă. întreaga parte acest număr exprimă data și parte fracționată- timp de la 1 ianuarie 100 până la 31 decembrie 9999
Obiect 4 octeți Referință la obiect Orice referință la obiect
Şir schimbări Set de caractere. Tipul String poate fi de lungime fixă ​​sau variabilă. Folosit mai frecvent cu lungime variabilă Lungime fixă ​​- până la aproximativ 65.500 de caractere. lungime variabilă– până la aproximativ 2 miliarde de caractere
Variantă schimbări Poate conține o dată, un float sau un șir de caractere. Acest tip este utilizat în cazurile în care nu se știe dinainte ce tip de date vor fi introduse. Număr - dublu, șir - șir

Evident, folosind tabelul de mai sus și alegând tipul de date potrivit, puteți folosi memoria mai economic (de exemplu, alegeți tipul de date Întregîn loc de Lung sau Singurîn loc de Dubla). Cu toate acestea, atunci când utilizați tipuri de date mai compacte, trebuie să aveți grijă ca codul dvs. să nu încerce să încadreze valori disproporționat de mari în ele.

Declararea variabilelor și constantelor

Nota traducatorului: Vorbind de variabile în VBA, merită menționat încă una punct important. Dacă declarăm o variabilă, dar nu îi atribuim nicio valoare, atunci aceasta este inițializată cu o valoare implicită:
șiruri de text– sunt inițializate linii goale;
numere - valoarea 0;
variabile de tip boolean- Fals;
datele sunt 30 decembrie 1899.

Înainte de a putea fi utilizată o variabilă sau o constantă, aceasta trebuie declarată. Pentru a face acest lucru, adăugați următoarele la macrocomandă: sfoară simplă cod:

Dim Nume_variabilă La fel de Data_Type

În linia de cod de mai sus Nume_variabilă este numele variabilei care va fi folosită în cod și Data_Type- acesta este unul dintre tipurile de date din tabelul dat puțin mai devreme în acest articol. De exemplu:

Dim sVAT_Rate As Single Dim i As Integer

Constantele sunt declarate în mod similar, dar atunci când se declară constante, valoarea acestora trebuie indicată imediat. De exemplu, așa:

Const iMaxCount = 5000 Const iMaxScore = 100

Nu este necesar să declarați variabile în Excel. În mod implicit, toate variabilele introduse, dar nedeclarate în Excel, vor avea tipul Variantăși va putea accepta atât valori numerice, cât și text.

Astfel, programatorul poate folosi oricand noua variabila (chiar daca nu a fost declarata), iar Excel o va trata ca pe o variabila de tip Variantă. Cu toate acestea, există mai multe motive pentru care acest lucru nu ar trebui făcut:

  1. Utilizarea memoriei și viteza de calcul. Dacă nu declarați o variabilă cu o indicație a tipului de date, atunci implicit va fi setată la tipul Variantă. Acest tip de date utilizează mai multa memorie, decât alte tipuri de date. S-ar părea că câțiva octeți suplimentari pe variabilă - nu atât de mult, dar în practică în programe create pot exista mii de variabile (mai ales atunci când avem de-a face cu matrice). Prin urmare, memoria suplimentară folosită de variabile precum Variantă, comparativ cu variabilele de tip Întreg sau Singur, se poate adăuga până la o sumă semnificativă În plus, operațiuni cu variabile de tip Variantă sunt executate mult mai lent decât cu variabile de alte tipuri, respectiv, o mie în plus variabile de tip Variantă poate încetini considerabil calculele.
  2. Prevenirea greșelilor de scriere în numele variabilelor. Dacă toate variabilele sunt declarate, atunci instrucțiunea VBA poate fi utilizată - Opțiunea explicită(vom vorbi despre asta mai târziu) pentru a identifica toate variabilele nedeclarate.Astfel se elimină apariția unei erori în program ca urmare a unui nume de variabilă scris incorect. De exemplu, folosind o variabilă numită sVAT_Rate, puteți face o greșeală de tipar și, atribuind o valoare acestei variabile, scrieți: „VATRate = 0,175”. Este de așteptat ca de acum înainte, variabila sVAT_Rate ar trebui să conțină valoarea 0,175 - dar bineînțeles că nu are. Dacă modul de declarare obligatorie a tuturor variabilelor utilizate este activat, atunci compilatorul VBA va indica imediat o eroare, deoarece nu va găsi variabila Cota TVA dintre cele anunţate.
  3. Evidențierea valorilor care nu se potrivesc cu tipul declarat al unei variabile. Dacă declari o variabilă anumit tipși încercați să îi atribuiți date de alt tip, apoi va apărea o eroare, fără a o corecta, puteți obține o blocare în program.La prima vedere, acesta poate părea un motiv bun pentru a nu declara variabile, dar de fapt , cu cât se dovedește mai devreme că una dintre variabile nu a primit datele pe care trebuia să le primească - cu atât mai bine! În caz contrar, dacă programul continuă să ruleze, rezultatele pot fi incorecte și neașteptate și va fi mult mai dificil să găsiți cauza erorilor. De asemenea, este posibil ca macro-ul să fie executat „cu succes”. Ca urmare, eroarea va trece neobservată și lucrul va continua cu date incorecte!

În acest sens, este de dorit să se detecteze un tip de date incorect și să se corecteze astfel de erori în cod cât mai curând posibil. Din aceste motive, când scriu Macro VBA se recomandă declararea tuturor variabilelor.

Opțiunea explicită

Operator Opțiunea explicită face ca toate variabilele să fie utilizate în codul VBA să fie declarate și semnalează toate variabilele nedeclarate ca erori în timpul compilării (înainte de a începe execuția codului). Aplicarea acestui operator nu este dificilă - doar scrieți această linie în partea de sus a fișierului VBA:

Opțiunea explicită

Dacă doriți să introduceți întotdeauna Opțiunea explicităîn partea de sus a fiecărui nou modul VBA creat, acest lucru se poate face automat. Pentru a face acest lucru, trebuie să activați opțiunea Necesită declarație variabilăîn setările editorului VBA.

Acest lucru se face astfel:

  • Din meniul Editor Visual Basic, faceți clic pe Instrumente > Opțiuni
  • În caseta de dialog care apare, deschideți fila Editor
  • Bifeaza casuta Necesită declarație variabilăși apăsați Bine

Când este activat, șirul Opțiunea explicită va fi inserat automat la începutul fiecărui modul nou creat.

Domeniul de aplicare al variabilelor și constantelor

Fiecare variabilă sau constantă declarată are propriul domeniu de aplicare limitat, adică o parte limitată a programului în care există această variabilă. Domeniul de aplicare depinde de locul în care a fost făcută declarația variabilei sau constantei. Luați, de exemplu, variabila sVAT_Rate, care este folosit în funcție Cost total. Următorul tabel discută două opțiuni pentru domeniul variabil sVAT_Rate declarat în două poziții diferite în modul:

Opțiune Explicit Dim sVAT_Rate As Single Function Total_Cost() As Double ... End Function

Dacă variabila sVAT_Rate declarat chiar la începutul modulului, atunci domeniul de aplicare al acestei variabile va fi întregul modul (adică variabila sVAT_Rate vor fi recunoscute de toate procedurile din acest modul).

Prin urmare, dacă în funcție Cost total variabil sVAT_Rate atunci i se va atribui o anumită valoare următoarea funcție, executat în cadrul aceluiași modul, va folosi variabila sVAT_Rate cu acelasi sens.

Cu toate acestea, dacă o funcție situată într-un alt modul este apelată, atunci pentru aceasta variabila sVAT_Rate nu va fi cunoscut.

Opțiune Funcție explicită Total_Cost() As Double Dim sVAT_Rate As Single ... End Function

Dacă variabila sVAT_Rate declarat la începutul funcţiei Cost total, atunci domeniul său de aplicare va fi limitat doar la această funcție (adică în cadrul funcției Cost total, puteți folosi variabila sVAT_Rate, dar nu afară).

Când încercați să utilizați sVAT_Rateîntr-o altă procedură, compilatorul VBA va raporta o eroare deoarece această variabilă nu a fost declarată în afara funcției Cost total(cu condiția ca operatorul să fie utilizat Opțiunea explicită).

În exemplul prezentat mai sus, variabila este declarată la nivelul modulului cu cuvântul cheie Dim. Cu toate acestea, poate fi necesar ca variabilele declarate să poată fi utilizate în alte module. În astfel de cazuri, pentru a declara o variabilă în loc de un cuvânt cheie Dim trebuie folosit cuvântul cheie Public.

Apropo, pentru a declara o variabilă la nivel de modul, în locul cuvântului cheie Dim poate fi folosit cuvântul cheie Privat, ceea ce indică faptul că această variabilă este destinată utilizării numai în modulul curent.

De asemenea, puteți utiliza cuvinte cheie pentru a declara constante. PublicȘi Privat, dar nu în locul cuvântului cheie Const, împreună cu el.

ÎN următoarele exemple utilizare indicată Cuvinte cheie PublicȘi Privat aplicate variabilelor si constantelor.

Top articole similare