Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Programet
  • Pyetje: Çfarë do të thotë DIM në Visual Basic dhe BASIC? Përdorimi i argumenteve me emër për funksionet. Nevoja për të deklaruar variabla

Pyetje: Çfarë do të thotë DIM në Visual Basic dhe BASIC? Përdorimi i argumenteve me emër për funksionet. Nevoja për të deklaruar variabla

Një variabël është një kontejner në të cilin VBA ruan të dhënat. Më në detaje, është si një kuti në të cilën mund të vendosni diçka për ruajtje dhe më pas ta nxirrni sipas nevojës. Vetëm në në këtë rast në një variabël ruajmë një numër, varg ose të dhëna të tjera, të cilat më pas mund t'i nxjerrim prej tij dhe t'i përdorim në kod sipas nevojës.

Për çfarë është një variabël? Për të ruajtur vlerën dhe për ta zbatuar atë më vonë në çdo kohë. Për shembull, në qelizën A1 shkruhet shuma dhe duke klikuar në butonin fillon përditësimi i raportit. Pas përditësimit të raportit, shuma në A1 do të ndryshojë. Është e nevojshme të rakordoni shumën para përditësimit me shumën pas dhe, në varësi të kësaj, të ndërmerrni disa veprime. Variabla thjesht do t'ju lejojë të mbani mend vlerën e qelizës përpara se ajo të përditësohet dhe të përdorni pikërisht këtë vlerë pas përditësimit.

Kërkesat e ndryshueshme:

Ju mund të përdorni shkronja dhe numra si emra të ndryshoreve, por karakteri i parë në një emër të ndryshores duhet të jetë gjithmonë një shkronjë. Nuk lejohet përdorimi i pikës, presjes, hapësirës dhe shenjave të tjera të pikësimit, përveç nënvizimit. Emri nuk duhet të kalojë 254 karaktere. Gjithashtu, nuk mund të përdorni konstante të rezervuara të redaktorit VBA si emra për variabla. (p.sh. Nën, Msgbox, ubound, Data, etj.)... Rasti i shkronjave është gjithashtu i parëndësishëm për variablat.

Tani le të shohim llojet kryesore të të dhënave të deklaruara në VBA që mund të ruhen në variabla:

Lloji i të dhënave Merr një bajt në kujtesë Kufijtë e vlerave
Bajt 1 Numrat e plotë nga 0 përpara 255
Boolean 2 E vërtetë ose I rremë
Numër i plotë 2 Numrat e plote nga ( -32768 ) më parë 32767
E gjatë 4 Numrat e plote nga ( -2147483648 ) më parë 2147483647
Beqare 4 nga ( –3,402823Е + 38) para ( –1,401298E-45) dhe nga 1.401298E-45 përpara 3,402823Е + 38
Dyfishtë 8 Nga ± 1,79769313486232E + 308 përpara ± 4,94065645841247E-324
dhjetore 12 Nga ± 79228162514264337593543950335 nuk ka vende dhjetore më parë ± 7.9228162514264337593543950335 me 28 shifra dhjetore
Monedha 8 nga ( –922337203685477.5808 ) më parë 922337203685477.5807
Data 8 Nga 01.01.100 përpara 31.12.9999 (të mos ngatërrohet me datat në Excel - 01.01.1900 deri 31.12.2078)
Varg 1 Nga 0 përpara 65400 karaktere për vargjet fikse dhe pak më shumë se 2 miliardë për vargjet gjatësi të ndryshueshme
Objekt 4 Çdo objekt
Array Përcaktohet nga numri dhe madhësia e elementeve -
Variant nga 16 Ndonjë nga llojet e të dhënave të integruara

Siç mund ta shihni nga tabela, Varianti zë më shumë memorie. Për më tepër, nëse ruan të dhëna numerike. Nëse një variabël i tillë ruan të dhëna të një lloji vargu (tekst), atëherë madhësia e memories së zënë do të matet tashmë duke filluar nga 22 bajt + gjatësia e vargut të ruajtur në variabël. Sa më shumë memorie të zërë një variabël, aq më shumë duhet të inicializohet në memorie dhe aq më ngadalë do të ekzekutohet kodi. Kjo është arsyeja pse është e rëndësishme të vendosni në mënyrë eksplicite llojin e të dhënave të ruajtura në një variabël - kjo quhet deklaroni një ndryshore.

Lloji i të dhënave dhjetore nuk përdoret më, prandaj deklaroni një variabël të këtij lloji nuk do të funksionojë në VBA - një përpjekje e tillë do të çojë në një gabim sintaksor. Për të punuar me të dhëna të tipit dhjetor, një variabël duhet të deklarohet fillimisht si Variant ose pa një lloj fare (për shembull, Dim a), pasi Lloji i të dhënave Variant është i paracaktuar në VBA dhe pranon çdo lloj të dhënash.

Variablave gjithashtu mund t'u caktohen lloje të tjera të dhënash që nuk janë në tabelën e mësipërme - këto janë lloje që mbështeten nga modeli objekt i aplikacioneve me të cilat është "lidhur" VBA. Për shembull, nëse futni VBA nga Excel, atëherë biblioteka e tipit modeli i objektit Excel është i lidhur si parazgjedhje dhe shumë lloje të këtij modeli objektesh janë të disponueshme për variabla. Shumë prej tyre janë të njohura për të gjithë: Fletore pune, Fletë pune, Gama, Qeliza, Grafik, etj. ato. këto janë libra, fletë, qeliza, diagrame. Ka shumë lloje, pothuajse për çdo objekt dhe koleksion. Është e kotë të shqyrtojmë gjithçka këtu. Unë mund t'ju jap vetëm disa rreshta kodi:

"Emri i programit tim"

Deklaratat e variablave janë përshkruar në detaje më poshtë.
Dhe në mënyrë më të detajuar në lidhje me aksesin në intervalet nga VBA, mund të lexoni këtë artikull: Si të përdorni një gamë nga VBA

Si të deklaroni variablat
Në fakt, gjithçka është shumë e thjeshtë. Kjo bëhet duke përdorur operatorët e fushëveprimit Dim, Public, Static dhe operatorin e caktimit As. Operatori më i zakonshëm është Dim. Le ta marrim si shembull. Sintaksa e deklarimit:

[operatori i fushës] Emri i ndryshores As [lloji i të dhënave]

Shumë gabim i zakonshëm kur deklarohen variabla, të bëra nga fillestarët për të mësuar VBA:

Dim MyVar1, MyVar2, MyVar3 si numër i plotë

Dim MyVar1, MyVar2, MyVar3 si numër i plotë

Duket se, bazuar në logjikë, të gjitha variablave u caktohet lloji i të dhënave Integer. Por ky është një gjykim i gabuar. Lloji Integer i caktohet vetëm ndryshores së fundit me të cilën është "lidhur" nga operatori As - MyVar3... Të gjitha variablat e tjerë janë të tipit të të dhënave Variant. ato. përveç nëse vendosni në mënyrë eksplicite llojin e të dhënave të ruajtura në variabël (d.m.th. mos specifikoni llojin e të dhënave për të), atëherë vetë VBA i cakton një variabël të tillë llojin e të dhënave Variant, pasi mund të ruajë çdo lloj të dhënash. Dhe kështu duket caktimi i saktë i llojit të të dhënave:

Dim MyVar1%, MyVar2%, MyVar3%

Gjithsej janë gjashtë lloje që mund t'i deklaroni metodë e ngjashme:
! - Beqare
# - Dyfish
$ - Varg
% - Numër i plotë
& - E gjatë
@ - Monedha
Çfarë duhet t'i kushtoni vëmendje kur deklaroni variabla në këtë mënyrë: nuk duhet të ketë hapësira midis emrit të ndryshores dhe shenjës së tipit.
Unë personalisht preferoj të përdor metodën e parë d.m.th. tregues i tipit të plotë. Është më e lehtë për t'u lexuar dhe kuptuar. Por këto janë preferencat e mia dhe në kodet tuaja ju keni të drejtë të përdorni metodën e përshtatshme për ju - nuk do të ketë asnjë gabim.

Tani le të merremi me operatorët e fushës (Dim, Publik dhe Static):

  • E zbehtë - këtë operator përdoret për të deklaruar një ndryshore, vlera e së cilës do të ruhet vetëm në procedurën brenda së cilës deklarohet kjo ndryshore. Gjatë fillimit të procedurës, një variabël i tillë inicializohet në memorie, mund të përdorni vlerën e tij vetëm brenda kësaj procedure, dhe me përfundimin e procedurës, ndryshorja shkarkohet nga memoria (zero) dhe të dhënat në të humbasin. Një ndryshore e deklaruar në këtë mënyrë quhet gjithashtu variabël lokale... Megjithatë, duke përdorur këtë operator, ju mund të deklaroni një variabël që do të jetë i disponueshëm në çdo procedurë në modul. Është e nevojshme të deklarohet ndryshorja jashtë procedurës - në zonën e deklarimit (lexohet si rreshti i parë në modul, pas rreshtave të deklaratave të tipit - Option Explicit). Atëherë vlera e ndryshores do të jetë e disponueshme në çdo procedurë vetëm të modulit në të cilin është deklaruar kjo variabël. Variabla të tillë quhen variablat e nivelit të modulit.
  • Static - ky operator përdoret për të deklaruar një variabël, vlera e së cilës supozohet të përdoret brenda procedurës, por pa humbur vlerën e kësaj ndryshore me përfundimin e procedurës. Variablat e këtij lloji zakonisht përdoren si numërues kumulativ. Një variabël i tillë inicializohet në memorie herën e parë që ekzekutohet procedura në të cilën është deklaruar. Në fund të procedurës, të dhënat për variablin nuk shkarkohen nga memoria, por, megjithatë, ato nuk janë të disponueshme në procedurat e tjera. Sapo të ekzekutoni përsëri procedurën me këtë variabël, të dhënat për një variabël të tillë do të jenë të disponueshme në formën në të cilën ishin para përfundimit të procedurës. Një variabël i tillë shkarkohet nga memoria vetëm pasi projekti të mbyllet. (libra me kod)... Në njerëzit e zakonshëm, variabla të tillë shpesh quhen globale(ndoshta për faktin se më parë variabla të tillë janë deklaruar duke përdorur operatorin Global, i cili aktualisht është i vjetëruar dhe nuk përdoret)
  • Publik - ky operator përdoret për të deklaruar një ndryshore, vlera e së cilës do të ruhet në çdo procedurë të projektit. Një variabël i deklaruar në këtë mënyrë duhet të deklarohet jashtë procedurës - në zonën e deklarimit. Një variabël i tillë ngarkohet në memorie kur projekti ngarkohet. (kur hapni një libër) dhe ruan vlerën derisa projekti të shkarkohet (mbyllja e librit)... Mund të përdoret në çdo modul dhe në çdo procedurë projekti. E rëndësishme:është e nevojshme të deklarohet një variabël në këtë mënyrë në mënyrë rigoroze në modulin standard. Variabla të tillë quhen variablat e nivelit të projektit.
    Për një kuptim më të mirë se ku dhe si të deklarohen variablat e nivelit të projektit, dy shembuj të vegjël.
    Njoftim i gabuar

    Option Explicit Sub main () Public MyVariable As String MyVariable = "Global Variable" "tregoni vlerën aktuale të ndryshores MsgBox MyVariable" provoni të ndryshoni vlerën e ndryshores Call sub_main "tregoni vlerën e ndryshuar të ndryshores MsgBox MyVariable End Sub" procedurë shtesë për ndryshimin e vlerës së ndryshores Sub ChangeMyVariable () MyVariable = "Ndryshoi vlerën e saj" Fund Sub

    variablat nuk do të jenë të dukshme në të gjitha modulet e të gjitha procedurave dhe funksioneve të projektit, sepse:
    1. Operatori Publik nuk lejohet brenda një procedure (midis Sub dhe End Sub), kështu që VBA do të japë një gabim kur përpiqet të ekzekutojë një procedurë të tillë - Atribut i pavlefshëm në nën ose funksion.
    2. Edhe nëse Public do të zëvendësohet me Dim, ajo tashmë do të jetë një variabël e nivelit të procedurës dhe nuk do të jetë e disponueshme për procedurat e tjera.
    3. Sepse deklarata është e pasaktë - procedura e dytë (ChangeMyVariable) nuk di asgjë për variablin MyVariable dhe, natyrisht, nuk mund ta ndryshojë atë.
    Deklaratë e saktë

    "Mbi variablat dhe konstantet globale, mund të ketë vetëm deklarata: Opsioni i qartë "deklarimi i detyruar i variablave Baza e opsionit 1 "kufiri i poshtëm i vargjeve të deklaruara fillon me 1 Opsioni Krahasoni Tekstin "Krahasimi i tekstit pa ndjeshmëri të madhe "variabli global - rreshti i parë, mbi të gjitha procedurat MyVariable publike si varg “Procedurat dhe funksionet e mëtejshme Nën kryesore () MyVariable = "Ndryshore globale" "tregoni vlerën aktuale të ndryshores MsgBox MyVariable, vbInformation, "www.site" "përpjekja për të ndryshuar vlerën e ndryshores Thirrni ChangeMyVariable "tregoni vlerën e ndryshuar të ndryshores MsgBox MyVariable, vbInformation, "www.site" Fund Sub "procedurë shtesë për ndryshimin e vlerës së një ndryshoreje Nën ChangeMyVariable () MyVariable = "Ndryshoi kuptimin" Fundi Nën

    "mund të ketë vetëm deklarata mbi variabla dhe konstante globale: Opsioni eksplicit" deklarimi i detyruar i variablave Opsioni bazë 1 "kufiri i poshtëm i vargjeve të deklaruara fillon me 1 Tekst Krahasimi i opsioneve" Krahasimi i tekstit të pandjeshëm ndaj rasteve "ndryshore globale - rreshti i parë, mbi të gjitha procedurat Publike MyVariable As String "procedurat dhe funksionet e mëtejshme Sub main () MyVariable =" Ndryshorja globale "" tregojnë vlerën aktuale të ndryshores MsgBox MyVariable, vbInformation, "www.site" "provoni të ndryshoni vlerën e ndryshores Call ChangeMyVariable" tregoni vlerën e ndryshuar të ndryshores MsgBox MyVariable, vbInformation, "www ..procedura për ndryshimin e vlerës së nënndryshores ChangeMyVariable () MyVariable = "Ndryshoi vlerën e saj" Fund Sub

  • Operatorët e fushëveprimit mund të aplikohen gjithashtu në procedura. Ekziston një tjetër operator i fushëveprimit në dispozicion për procedurat, Privat. Një procedurë e deklaruar në këtë mënyrë është e aksesueshme vetëm nga moduli në të cilin është shkruar dhe një procedurë e tillë nuk është e dukshme në kutinë e dialogut për thirrjen e makrove ( Alt+F8)

Si të emërtoni saktë variablin:

"Cila është pjesa më e vështirë e punës së një programuesi? Shpikja e emrave për variablat." :-) Por gjetja e një emri për një ndryshore nuk është gjithashtu aq e lehtë. Ju, sigurisht, mund t'u jepni atyre emra si: a, d, f, x, y etj. (Unë e bëj këtë vetë ndonjëherë, por ose brenda kode të thjeshta, ose për turbullim të veçantë të kodit). Por ia vlen të merret parasysh: si do t'i menaxhoni ato në kod të madh? Kodi për linjat për 10 do të vazhdojë të tolerojë emra të tillë, por projekte më të mëdha - nuk do të rekomandoja funksionimin me variabla të tillë në to. Ju vetë do të jeni të hutuar se cila variabël është deklaruar si dhe cili lloj i të dhënave mund të ruajë dhe çfarë vlere i është caktuar. Prandaj, është më mirë t'u jepni variablave emra kuptimplotë dhe të ndiqni një konventë të emërtimit të ndryshoreve. Çfarë lloj marrëveshjeje? Gjithçka është shumë e thjeshtë: një prefiks vendoset përpara emrit kryesor të ndryshores, duke treguar llojin e të dhënave që synojmë të ruajmë në këtë variabël. Unë kam përshkruar tashmë llojet e të dhënave të disponueshme më lart. Dhe më poshtë është një shembull i tabelës së prefikseve për llojet e të dhënave:

Parashtesa Lloji i të dhënave të ruajtura
b Boolean
bt Bajt
i Numër i plotë
l E gjatë
s Beqare
d Dyfishtë
c Monedha
dt Data
rr Varg
obj Objekt
v Variant

Personalisht, e ndryshova pak për veten time, tk. disa emërtime më duken të pakta. Për shembull Double I shënoj si dbl dhe Single si sgl... Kjo më duket më ilustruese.

Cili është një plus tjetër tregues i qartë prefiksi i të dhënave. VBA ofron operatorë të tillë si Def, të cilët mund t'i përdorni për të specifikuar llojin e paracaktuar të të dhënave për variablat shkronja e parë e emrit të të cilëve bie brenda intervalit të specifikuar në operator. Për shembull:

DefBool B-C Sub test () Dim bCheck, cCheck Fund Sub

Por besoj se mjafton një shkronjë për një lloj. Disa deklarata Def mund të specifikohen në të njëjtën kohë.

DefBool B DefStr S Nën test () Dim bCheck, sCheck Fund Sub

DefBool B DefStr S Nën test () Dim bCheck, sCheck Fund Sub

Më poshtë është një listë e plotë e operatorëve të tipit dhe të dhënat që secili përcakton:
DefBool- Vendos llojin Boolean
DefByte- Përcakton llojin Byte
DefCur- Përcakton llojin e monedhës
Defada- Përcakton llojin e datës
DefDbl- Përcakton llojin Double
DefInt- Vendos llojin në Integer
DefLng- Vendos llojin në Long
DefObj- Përcakton llojin Object
DefSng- Vendos llojin në Single
DefStr- Vendos llojin në String
DefVar- Vendos llojin në Variant
Si parazgjedhje, VBA përdor deklaratën DefVar për të gjitha variablat.

Epo, dhe një pikë e rëndësishme është emri me kuptim të drejtpërdrejtë i ndryshores. Emri i ndryshores duhet të pasqyrojë afërsisht atë që do të ruhet në të. Për shembull, po krijoni një raport dhe duhet të deklaroni dy variabla: njëra është emri i fletës, tjetra është emri i librit. Mund të ishte bërë kështu: rr.1, rr2... Shkurtimisht, shkëlqyeshëm. Por nëse mendoni për këtë, si mund të kuptoni se cili nga këto variabla ruan çfarë? Në asnjë mënyrë. Ju duhet të shikoni kodin dhe të mbani mend se cilës ndryshore i është caktuar vlera. Jo shumë i përshtatshëm, apo jo? Dhe nëse jepni emra të tillë: strEmri i librit, strEmri i fletës, është disi më e qartë se çfarë do të ruajmë në to. Kjo është e përshtatshme jo vetëm për ju kur punoni me kodin, por edhe për njerëzit e tjerë që, ndoshta, do ta përdorin kodin tuaj në të ardhmen. Do të jetë më e përshtatshme për ta që të lexojnë kodin nëse ai është i formatuar saktë dhe variablat janë emërtuar me kuptim. Dhe mos kurseni në gjatësinë e emrit - emri duhet të jetë i kuptueshëm. Pa fanatizëm, sigurisht :-). Megjithëse VBA na lejon të krijojmë variabla me gjatësi deri në 254 karaktere, leximi i një ndryshoreje të tillë është po aq i papërshtatshëm sa leximi i një karakteri. Por këtu gjithçka varet nga preferencat dhe imagjinata juaj.
Shtesa e vogël:është më mirë të mësohemi t'u japim emra variablave në alfabetin latin (d.m.th., alfabetin anglez), pasi për VBA, anglishtja është "amtare" dhe është më mirë ta përdorni.

Një shembull i vogël i përdorimit të variablave në kode:

Nën kryesore () "deklaroni variabla me caktimin e llojeve specifike"Si varg - tekst "As Long është një numër i plotë Dim saddress As String, sNewAddress as String, sShName as String Dim lRow Sa Long Dim rRange as Range "i caktoi variablit rRange një referencë për qelizën e zgjedhur aktualisht Set rRange = Zgjedhja "Ndrysho përzgjedhjen - zgjidhni qelizën D9 Gama ("D9") .Zgjidh "cakto adresën e qelizave të zgjedhura në ndryshore sAddress = Zgjedhja.Adresa "cakto variablit lRow vlerën e rreshtit të parë të zonës së përzgjedhjes lRresht = Zgjedhja.Rresht "duke treguar mesazhin MsgBox "Adresa e zonës së zgjedhur:"& sAdresa, vbInformation, "www.site" MsgBox "Numri i rreshtit të parë:"& lRow, vbInformation, "www.site" "cakto një ndryshoreje tjetër vlerën e adresës së qelizës A1 sNewAddress = "A1" "zgjidhni qelizën e specifikuar nga ndryshorja sNewAddres Gama (sNewAddress) .Zgjidhni MsgBox "Adresa e zonës së zgjedhur:"& sNewAddress, vbInformation, "www.site" "zgjidhni qelizën e zgjedhur fillimisht duke përdorur variablin rRange rRange.Zgjidhni MsgBox "Adresa e zonës së zgjedhur:"& rRange.Address, vbInformation, "www.site" "caktoni vlerën e ndryshores sShName = "excel-vba" "riemërto fletën aktive në emrin e dhënë nga ndryshorja ActiveSheet.Name = sShName Fundi Nën

Nën kryesore () "deklaroni variabla me caktimin e llojeve të veçanta" Si varg - teksti "As Long - Integer Dim sAddress As String, sNewAddress As String, sShName As String Dim lRow Sa Long Dim rRange as Range" caktoi llojin e qelizës / diapazonit variablit " i caktohet variabla rRange një lidhje me qelizën e zgjedhur aktualisht Set rRange = Zgjedhja "ndrysho përzgjedhjen - zgjidh qelizën D9 Range (" D9 "). Zgjidh" cakto ndryshores adresën e qelizave të zgjedhura sAddress = Zgjedhja. Adresa "cakto variablin lRow vlerën e rreshtit të parë të zonës së zgjedhur lRow = Përzgjedhja .Rresht "shfaq mesazhin MsgBox" Adresa e zonës së zgjedhur: "& sAddress, vbInformation," www..site "" cakto vlerën e adresa e qelizës A1 në një variabël tjetër sNewAddress = "A1" "zgjidh qelizën e specifikuar nga variabli sNewAddres Range (sNewAddress) .Zgjidh MsgBox "Adresa e zonës së zgjedhur:" & sNewAddress, vbInformation, "www.site" "zgjidhni fillimisht qelizën duke përdorur variablin rRange rRange. Zgjidhni MsgBox" Adresa e zonës së zgjedhur: " & rRange.Address, vbInformation, "www.site" "cakto vlerën e ndryshores sShName =" excel-vba "" riemërto fletën aktive në emrin e vendosur nga ndryshorja ActiveSheet.Name = sShName Fund Sub

Shihni artikullin vijues për ekzekutimin hap pas hapi të këtij kodi: Kapja e gabimeve dhe korrigjimi i kodit VBA
E rëndësishme! Nëse një variabli i caktohet një referencë për një qelizë (Set var = Range ("A1")), atëherë referimi ndaj ndryshores është identik me referimin e vetë A1 sa herë që ndodh. Një detyrë e tillë nuk kujton vetitë e një qelize para ose pas - një referencë për një qelizë specifike ruhet në ndryshore dhe ka vetëm akses në vetitë e qelizës në momentin aktual. Për të kujtuar vlerën, ngjyrën e një qelize, apo edhe një adresë (si dhe vetitë e tjera) përpara se të ndryshoni një qelizë dhe t'i zbatoni ato edhe pasi të ndryshoni / lëvizni vetë qelizën, është e nevojshme të mbani mend saktësisht vetitë e qelizës në variabla. :

Nën kryesore () Dim val, l_Ngjyra e brendshme për aq kohë sa, l_FontNgjyra për aq kohë sa dim rRange si varg "i caktoi variablit llojin e qelizës / vargut "i caktoi një referencë variablit rRange qelizë aktive Cakto rRange = ActiveCell "Mos harroni vetitë e qelizës val = rRange.Value "(! LANG: l_InteriorVlera Ngjyra = rRange.Interior.Color"цвет заливки l_FontColor = rRange.Font.Color "цвет шрифта !} "kopjoni një qelizë tjetër dhe ngjisni në vend të aktivit ActiveSheet.Range ("D1") .Kopjo rRange "Kontrollo që rRange tani ka veti krejtësisht të ndryshme - si D1 "Plotësoni vargun e ngjyrave:" "Range font color:"& rRange.Font.Color & vbNewLine, vbInformation, "www.site" "cakto vetitë nga ato të ruajtura në variabla rRange.Value = val "rRange.Interior.Color = l_InteriorColor" mbush ngjyrën rRange.Font.Color = l_FontColor "ngjyra e shkronjave "Kontrollo që parametrat rRange të kthehen përpara kopjimit MsgBox "rRange value:" & rRange.Value & vbNewLine & _ "Plotësoni vargun e ngjyrave:"& rRange.Interior.Ngjyra & vbNewLine & _ "Range font color:"& rRange.Font.Color & vbNewLine, vbInformation, "www.site" Fund Sub

Nën kryesore () Dim val, l_InteriorNgjyra për aq kohë sa, l_FontNgjyra për aq kohë sa Dim rRange As Range "i caktoi llojin e qelizës / diapazonit variablit" caktoi referencën e qelizës aktive në variablin rRange Set rRange = ActiveCell "kujtoni vetitë e qelizës val = rRange .Vlera" (! LANG : l_InteriorVlera Ngjyra = rRange.Interior.Color"цвет заливки l_FontColor = rRange.Font.Color "цвет шрифта "копируем другую ячейку и вставляем на место активной ActiveSheet.Range("D1").Copy rRange "проверяем, что rRange теперь имеет совершенно другие свойста - как у D1 MsgBox "Значение rRange: " & rRange.Value & vbNewLine & _ "Цвет заливки rRange: " & rRange.Interior.Color & vbNewLine & _ "Цвет шрифта rRange: " & rRange.Font.Color & vbNewLine, vbInformation, "www..Value = val "значение rRange.Interior.Color = l_InteriorColor "цвет заливки rRange.Font.Color = l_FontColor "цвет шрифта "проверяем, что rRange возвращены параметры до копирования MsgBox "Значение rRange: " & rRange.Value & vbNewLine & _ "Цвет заливки rRange: " & rRange.Interior.Color & vbNewLine & _ "Цвет шрифта rRange: " & rRange.Font.Color & vbNewLine, vbInformation, "www.сайт" End Sub!}

Kjo vlen edhe për të gjitha objektet e tjera. ato. ato variabla vlerat e të cilave janë caktuar përmes deklaratës Set.

Konstante
Ekziston edhe një lloj tjetër "variablash" - konstante. Kjo është e njëjta ndryshore, vetëm (siç nënkupton emri i saj) - nuk mund të ndryshohet gjatë ekzekutimit të kodit, pasi është një vlerë konstante dhe vlera e saj caktohet vetëm një herë - para ekzekutimit të kodit.

Const sMyConst As String = "Emri i programit tim"

Const sMyConst As String = "Emri i programit tim"

Konstanteve mund t'u caktohen të dhëna të të njëjtave lloje si për ndryshoret. Për shtrirjen / jetëgjatësinë shtesë të konstanteve, përdoret vetëm Public. Nëse shtrirja nuk është e specifikuar, atëherë konstanta do të jetë e disponueshme vetëm nga moduli në të cilin është deklaruar. Këtu ju tërheq vëmendjen se Dim nuk përdoret më, sepse Dim është një identifikues vetëm për variablat. Disa ndryshime të rëndësishme midis deklarimit të konstantave dhe deklarimit të variablave:

  • kur deklarohet një konstante, është e nevojshme të tregohet në mënyrë eksplicite se ajo është një konstante duke përdorur fjalën kyçe Const
  • menjëherë në momentin e shpalljes, duhet të caktoni një vlerë konstante: = "Emri i programit tim"

Në të gjitha aspektet e tjera, deklarimi dhe aplikimi i konstantave është identik me deklaratat e variablave. Më lejoni t'ju jap disa shembuj.
Nëse një konstante deklarohet brenda një procedure:

Sub TestConst () Const sMyConst As String = "Emri i programit tim është" MsgBox sMyConst "duke shfaqur një mesazh me emrin e programit End Sub Sub TestConst2 () MsgBox sMyConst" do të shkaktojë gabimin Variabla nuk është përcaktuar End Sub

Për të përdorur një konstante në të gjitha procedurat e një projekti (libri), duhet ta deklaroni atë si Publik.

Dim ishte fillimisht (në BASIC) për Dimension sepse përdorej për të përcaktuar dimensionet e një grupi.

(Zbatimi origjinal i BASIC ishte Dartmouth BASIC, i cili zbriti nga FORTRAN ku janë deklaruar DIMENSIONET.)

Dim aktualisht përdoret për të përcaktuar çdo variabël, jo vetëm vargje, kështu që kuptimi i tij nuk është intuitiv.


2018-06-23 16:01

Dim kishte kuptime të ndryshme i atribuohet atij.

Kam gjetur lidhje me Dimin duke pasur parasysh "Deklaroni në kujtim" Lidhja më e rëndësishme është dokumenti për Instruction Dim i publikuar nga Oracle si pjesë e Referencës së gjuhës Siebel VB. Me siguri mund të argumentoni se nëse nuk deklaroni variabla në memorie, ku e bëni atë? Ndoshta "Deklaroni në modul"është një alternativë e mirë duke marrë parasysh se si përdoret Dim.

Për mendimin tim, "Njoftoni në kujtesë" është në të vërtetë mnemonike E krijuar për ta bërë më të lehtë të mësosh se si të përdorësh Dim, unë e shoh "deklaro në kujtesë" si kuptimin më të mirë pasi përshkruan atë që bën në versionet aktuale të gjuhës, por ky nuk është kuptimi i saktë.

Në fakt, në origjinë Dim bazë u përdor vetëm për të deklaruar vargje. Asnjë fjalë kyçe nuk është përdorur për variablat e rregullt; në vend të kësaj, lloji i tyre është nxjerrë nga emri i tyre. Për shembull, nëse një emër variabli përfundon me $, atëherë ai është një varg (kjo është ajo që mund të keni parë edhe në emrat e metodave para VB6, si Mid $). Pra, ju përdorët Dim vetëm për të dhënë dimension te vargjeve (vini re se ReDim ndryshon përmasat e vargjeve).

Me të vërtetë, Ka rëndësi? Dua të them se kjo fjalë kyçe ka kuptim në gjuhë artificiale... Nuk duhet të jetë një fjalë në anglisht ose në ndonjë gjuhë tjetër natyrore. Pra, mund të nënkuptojë vetëm atë që ju dëshironi, e vetmja gjë që ka rëndësi është se funksionon.

Në çdo rast, kjo nuk është plotësisht e vërtetë. Sepse BASIC është pjesë e kulturës sonë dhe e kupton pse kjo është mënyra që shpresoj se do të ndihmojë në përmirësimin e vizionit tonë për botën.

Unë ulem nga kompjuteri im me dëshirën për të ndihmuar në ruajtjen e kësaj pjese të vogël të kulturës sonë që duket e humbur, e zëvendësuar nga supozimi ynë se çfarë ishte. Kështu që unë nxora MSDN CD-të aktuale dhe të vjetra nga versioni 1998. Kërkova gjithashtu dokumentacionin për QBasic-in e vjetër [duhej të përdorte DOSBox] dhe arrita të gjeja manualin e Dartmouth për të gjetur se si thonë Dim. Për zhgënjimin tim ata nuk thonë se çfarë e bën Dim të qëndrojë, dhe tregojnë vetëm se si përdoret .

Por përpara se shpresa ime të ishte e zbehtë, unë munda të gjeja këtë Udhëzues Mikrokompjuteri të BBC-së (i cili pretendon të jetë i vitit 1984 dhe nuk dua ta vë në dyshim). Mikrokompjuteri BBC përdori një variant të BASIC të quajtur BBC BASIC dhe përshkruhet në dokument. Edhe pse nuk e thotë atë që qëndron Dim, ai thotë (në faqen 104):

Ju mund të matni N $ për të pasur sa më shumë regjistrime që dëshironi. Për shembull, DIM N $ (1000) do të krijojë një grup vargjesh me hapësirë ​​për 1000 emra të ndryshëm.

Siç thashë, nuk thotë se Dim qëndron për dimensionin, por shërben si provë se lidhja e Dim me Dimensionin ishte e zakonshme në kohën e këtij shkrimi.

Tani mora një surprizë shtesë (në faqen 208), titulli i seksionit që përshkruan fjalën kyçe DIM (shënim: kjo nuk thuhet në përmbajtje) thotë:

Madhësia e grupit DIM

Pra, nuk e kuptova thënien "Dim vlen ...", por mendoj se është e qartë se çdo person i mirë që mund ta lexojë këtë dokument do të supozojë se Dim qëndron për dimensionin.

Me shpresë të përtërirë, vendosa të gjej se Dim ishte zgjedhur. Përsëri, nuk kam gjetur llogari në këtë temë, por unë munda të gjeja një citat përfundimtar:

Përpara se të përdorni një grup, duhet ta përcaktoni atë në një deklaratë DIM (dimension).

Ju mund ta gjeni këtë si pjesë e Udhëzuesve të Përdoruesit në linjë True BASIC në faqen e internetit të True BASIC inc, një kompani e themeluar nga Thomas Eugene Kurz, bashkëautor i BASIC.

Pra, Dim është stenografi për DIMENSION, dhe po. Kjo ka ekzistuar në FORTRAN më parë, kështu që ka të ngjarë që është zgjedhur për shkak të ndikimit të FORTRAN-it siç tha Patrick MacDonald në përgjigjen e tij,

Dim sum as string = "ky nuk është një vakt kinez" shembull përdorimi i REM në VB.NET;)


2017-10-05 01:19

Kjo është një shkurtim për Dimension, pasi fillimisht u përdor në BASIC për të specifikuar madhësinë e vargjeve.

DIM - (shkurtim i madhësisë) përcakton madhësinë e vargjeve

Pjesë e origjinalit Kodi i burimit përpiluesi BASIC, ku do të kërcejë kur kërkoni një komandë DIM ku mund të shihni qartë qëllimin origjinal për fjalën kyçe:

DIM LDA XR01 POINTER PËR OBJEKTIN E KTHYRJES NËN3 STA RX01 LDA L 2 MERRNI TË NDRYSHUESHMËRISË PËR TË JETË ME DIMENSION STA 3 LDA S 3 CAB N36 KONTROLLO PËR $ ARRAY BRU * + 7 JO $ ...

Më vonë u përdor për të deklaruar të gjitha llojet e variablave kur aftësia për të specifikuar llojin e variablave u shtua në versionet e mëvonshme.


2018-06-23 16:02

Matni një variabël, në thelb ju po i tregoni përpiluesit se do t'ju duhet një variabël i atij lloji në një moment.

Shumica e njerëzve preferojnë të mos përdorin identifikues për t'iu referuar variablave. Në vend të kësaj, ata përdorin operatorin Dim, një operacion i tillë quhet - reklama... Për shembull:

Dim A si numër i plotë

Dim B As varg

Deklaratat e ndryshueshme mund të kombinohen në një rresht të vetëm.

Dim A si numër i plotë, Emri si numër i plotë

Një gabim i zakonshëm është përdorimi i shprehjes së mëposhtme:

Dim X, Y, Z si numër i plotë

Me supozimin se të gjitha variablat do të jenë numër i plotë. Në fakt, X dhe Y do të deklarohen si Variant dhe vetëm Z si numër i plotë. Për të shmangur këtë, duhet të përdorni identifikuesin e tipit çdo herë. Nëse një variabël deklarohet duke përdorur deklaratën Dim, nëse përdoret një variabël me të njëjtin emër dhe një identifikues të llojit të ndryshëm, do të ndodhë një gabim "përkufizimi i dyfishtë" gjatë ngarkimit të programit.

Gjatë caktimit lloji i ndryshueshëm Variant, mund të përdorni operatorin - Dim pa prefiksin - AS. Për shembull:

Nevoja për të deklaruar variabla.

Një nga gabimet më të zakonshme në një program është përdorimi i variablave të padeklaruar. Problemi është se Bazë vizuale ju lejon të krijoni një variabël sapo të shfaqet një herë në program. Nëse përzieni emrin e ndryshores, Visual Basic krijon një të ri me një emër të ngjashëm dhe i cakton një vlerë të paracaktuar, e cila çon menjëherë në një gabim. Ky gabim është i vështirë për t'u zbuluar sepse emrat e variablave janë shumë të ngjashëm.

Mënyra më e thjeshtë për të shmangur një gabim të tillë është të deklarohen me forcë të gjitha variablat. Visual Basic shfaq një mesazh nëse ka një gabim në emër. Visual Basic ofron këtë veçori, por nuk përdoret si parazgjedhje. Operatori i kërkuar për këtë quhet Option Explicit.

Për kontroll i përgjithshëm variablave në program, deklarata Option Explicit duhet të vendoset në seksionin General.

Për ta vendosur këtë operator në seksionin e Përgjithshëm, duhet:

Hapni dritaren e kodit

Zgjidhni objektin e Përgjithshëm nga lista e objekteve në dritaren Object

Zgjidhni Deklarimin nga lista e Procedurave

Futni Opsionin Explicit.

Ndryshimi i vlerave të paracaktuara për llojet

Supozoni se të gjitha variablat në program duhet të jenë numra të plotë. Për lehtësi, në këtë rast përdoret operatori DefType. Për të gjitha variablat me numra të plotë, duket kështu:

Përkufizimi A-Z

Format bazë të operatorëve të ndryshëm DefType

Konventat e tipit mund të ndryshohen gjithmonë duke përdorur një identifikues ose një deklaratë Dim për një variabël të caktuar. Në mënyrë tipike, deklarata DefType vendoset në të njëjtin seksion (General) me deklaratën Option Explicit.

Shtrirja e ndryshueshme

Programuesit përdorin termin "scope" kur duan të thonë për mundësinë e përdorimit të një variabli nga një pjesë e programit në një pjesë tjetër të tij. Në Visual Basic deklarata e ndryshueshme brenda procedurës është e izoluar nga njëra-tjetra. Për sa i përket programimit, kjo do të thotë se këto variabla janë lokal.

Variablat VBA, Deklarata e variablave, Opsioni eksplicit, Rregullat e emërtimit, Llojet e të dhënave VBA, Vlerat fillestare të variablave

Variablat- kontejnerë për ruajtjen e të dhënave të ndryshueshme. Pothuajse asnjë program nuk mund të bëjë pa to. Për thjeshtësi, një variabël mund të krahasohet me një numër në gardërobë - ju dorëzoni disa të dhëna në "gardërobë", si përgjigje do t'ju jepet një numër. Kur t'ju duhen sërish këto të dhëna, ju "tregoni numrin" dhe i merrni ato. Një shembull i punës me variabla në VBA mund të duket si ky:

Dim nMyAge si numër i plotë

nMosha ime = nMosha ime + 10

MsgBox nMosha ime

Dim nMyAge si numër i plotë

Si të deshifroni këtë rresht:

Dimështë shtrirja e ndryshores. VBA ofron 4 fjalë kyçe për të përcaktuar shtrirjen e variablave:

  • Dim- përdoret në shumicën e rasteve. Nëse një variabël deklarohet si Dim në zonën e deklarimit të modulit, ai do të jetë i disponueshëm në të gjithë modulin, nëse në një procedurë - vetëm për kohëzgjatjen e kësaj procedure;
  • Privat- kur deklarohen variabla në VBA, do të thotë njësoj si Dim;
  • Publike- një variabël i tillë do të jetë i disponueshëm për të gjitha procedurat në të gjitha modulet të këtij projekti nëse e keni deklaruar në zonën e deklarimit të modulit. Nëse e deklaroni brenda një procedure, ajo do të sillet si Dim / Private;
  • Statike- variabla të tillë mund të përdoren vetëm brenda një procedure. Këto variabla janë të dukshme vetëm brenda procedurës në të cilën janë deklaruar, por ato ruajnë vlerën e tyre ndërmjet sfida të ndryshme këtë procedurë. Zakonisht përdoret për të grumbulluar vlera. Për shembull:

Statike nVar1 Si numër i plotë

nVar1 = nVar1 + 1

MsgBox nVar1

Nëse nuk ka kërkesa të veçanta, atëherë ka kuptim të zgjidhni gjithmonë shtrirjen Dim.

Fjala e dytë në deklaratën tonë (nMyAge) është identifikuesi (me fjalë të tjera, emri) i ndryshores. Rregullat për zgjedhjen e emrave në VBA janë të njëjta për shumë elementë (variabla, konstante, funksione dhe procedura, etj.). Emri:

  • duhet të fillojë me një letër;
  • nuk duhet të përmbajë hapësira ose karaktere pikësimi (përjashtim është karakteri nënvizues);
  • gjatësia maksimale - 255 karaktere;
  • duhet të jetë unik në shtrirjen aktuale (më shumë detaje më vonë);
  • Fjalët e rezervuara (ato që janë theksuar me një ngjyrë të ndryshme në dritaren e redaktuesit të kodit) nuk mund të përdoren.

Kur krijoni programe VBA, rekomandohet fuqimisht që të vendosni për rregullat me të cilat do t'u caktoni emrat objekteve - konventa e emërtimit. Më e përdorura është e ashtuquajtura marrëveshje hungareze (për nder të një prej programuesve të Microsoft, Charles Simonyi, hungarez nga kombësia):

  • emri i ndryshores duhet të fillojë me një parashtesë me shkronja të vogla. Prefiksi tregon se çfarë saktësisht do të ruhet në këtë variabël:
    • str (ose s) - Vargu, vlera e karakterit;
    • fn (ose f) - funksioni;
    • c (ose shkronja të mëdha) - konstante;
    • b - Boolean, vlera boolean (e vërtetë ose e gabuar);
    • d - datë;
    • obj (ose o) - referencë objekti;
    • n është një vlerë numerike.
  • Emrat e funksioneve, emrat e metodave dhe çdo fjalë në një fjalë të përbërë duhet të fillojnë me një shkronjë të madhe:

MsgBox objMyDocument.Emri

Nën CheckDateSub ()

EMRI I KOMPANISE

Shumë programues përdorin këtë qasje për të treguar konstante edhe tani (por përdorimi i fjalës kyçe Const tani është i detyrueshëm - më shumë për këtë në seksionin tjetër).

Pjesa e tretë e njoftimit tonë është Si numër i plotëështë një tregues i llojit të të dhënave të ndryshores sonë. Lloji i të dhënave përcakton se çfarë lloj të dhënash mund të ruhen në variablin tonë.

VBA ofron llojet e mëposhtme të të dhënave:

  • numerike(byte është një numër i plotë nga 0 në 255, numri i plotë është një numër i plotë nga -32768 në 32767, i gjatë është një numër i plotë i madh, monedhë (e madhe numër dhjetor me 19 pozicione, duke përfshirë 4 pozicione pas pikës dhjetore), dhjetore (një numër dhjetor edhe më i madh me 29 pozicione), i vetëm dhe i dyfishtë - një vlerë me pikë lundruese (dyfishi është dy herë më i madh));

Kujdes! Përpjekja për të deklaruar një variabël të tipit dhjetor (për shembull, Dim n si dhjetore) do të rezultojë në një gabim sintaksor. Për të qenë në gjendje të punojë me tipin Decimal, variabla duhet fillimisht të deklarohet si Variant, ose të deklarohet fare pa tip (Dim n), pasi lloji i të dhënave Variant përdoret si parazgjedhje në VBA.

  • varg(vargu me gjatësi të ndryshueshme (deri në rreth 2 miliard karaktere) dhe gjatësi fikse (deri në rreth 65400 karaktere);
  • Data dhe ora(data - nga 01.01.100 deri më 31.12.9999);
  • logjike(boolean - mund të ruajë vetëm vlerat True dhe False);
  • Objekt(objekt - ruan një referencë për çdo objekt në memorie);
  • Variant- një lloj i veçantë i të dhënave që mund të ruajë çdo lloj tjetër të dhënash.

Ju ende mund të përdorni lloje të personalizuara të të dhënave, por fillimisht duhet t'i përcaktoni ato duke përdorur një shprehje Type. Zakonisht përdoren llojet e personalizuara të të dhënave si mjet shtesë vërtetimi i vlerave të futura nga përdoruesi (një shembull klasik është një kod postar).

Disa pika që lidhen me zgjedhjen e llojeve të të dhënave për variablat:

  • Parimi i përgjithshëm është të zgjidhni llojin më të vogël të të dhënave që mund të akomodojë vlerat që zgjidhni. Nëse keni ndonjë dyshim, zgjidhni lloji më i madh të dhëna për të shmangur gabimet;
  • nëse është e mundur, është më mirë të mos përdorni llojet e të dhënave me pikë lundruese (të vetme dhe të dyfishta). Puna me lloje të tilla të dhënash është më e ngadaltë, përveç kësaj, mund të ketë probleme me krahasimet për shkak të rrumbullakimit;
  • nëse është e mundur, është mirë të mos përdorni llojin Variant. Ky lloj është ende i hedhur nga VBA në një nga llojet e tjera, por kërkon më shumë memorie. Përveç kësaj, gabime mund të ndodhin gjatë një edukimi të tillë të nënkuptuar;
  • gjatë përcaktimit të variablave, mund të përdorni të ashtuquajturat simbole të përkufizimit të tipit (% - integer, $ - String, etj.). Për shembull, në shembullin tonë, duhet të komentoni rreshtin Dim nVar 1 si numër i plotë, dhe në rreshtin e dytë shkruani:

nVar1% = nVar1% + 1

Kjo qasje është e zhvlerësuar dhe e zhvlerësuar.

Kur deklaroni variabla, nuk keni nevojë të specifikoni llojin e tyre. Për shembull, deklarata jonë mund të duket si kjo:

Dim nVar1

Në këtë rast, ndryshorja do të deklarohet automatikisht me llojin Variant.

Në thelb, ju mund të punoni në VBA pa deklaruar variabla. Për shembull, një kod si ky

nVar1 = nVar1 + 1

MsgBox nVar1

do të jetë mjaft i zbatueshëm. Nëse përdorim një variabël në program pa e deklaruar atë, atëherë automatikisht do të krijohet një ndryshore e re e tipit Variant. Megjithatë, ju duhet të deklaroni variabla! Dhe në të njëjtën kohë, është e dëshirueshme të tregohet në mënyrë eksplicite lloji i kërkuar i të dhënave. Pse:

  • numri i gabimeve zvogëlohet: programi që në fillim do të refuzojë të pranojë një vlerë të llojit të gabuar në një ndryshore (për shembull, një varg në vend të një numerik);
  • kur punoni me objekte, aludimi për vetitë dhe metodat është i vlefshëm vetëm kur fillimisht kemi deklaruar variablin e objektit me lloji i duhur... Për shembull, në Excel, dy variacione të kodit do të funksionojnë njësoj:

opsioni i parë:

Dim oWbk si fletore pune

Vendos oWbk = Librat e punës. Shto ()

opsioni i dytë:

Vendos oWbk = Librat e punës. Shto ()

Por sugjerimi për vetitë dhe metodat e objektit oWbk do të funksionojë vetëm në rastin e dytë.

Të gjithë zhvilluesit me përvojë në përgjithësi ndalojnë përdorimin e variablave pa i deklaruar ato në mënyrë eksplicite. Për ta bërë këtë, mund të përdorni një komandë të veçantë përpiluesi (ai vendoset vetëm në seksionin e deklarimit të modulit)

Opsioni i qartë

ose mund ta futni këtë komandë në të gjitha modulet kur ato krijohen automatikisht - duke kontrolluar kutinë në dritaren e redaktuesit të kodit Kërkoni deklarata të ndryshueshme(menu Mjetet -> Opsione, skedë Redaktor).

Ju mund të ilustroni pse e bëjnë këtë në shembull i thjeshtë:

n = n + 1

MsgKutia n

Në sipërfaqe, kodi nuk duhet të shkaktojë ndonjë problem dhe thjesht të shfaqë një në dritaren e mesazheve. Në fakt, do të shfaqë një kuti mesazhi bosh. Arsyeja fshihet shumë e ndërlikuar: në rreshtin e tretë n nuk është fare shkronja angleze N, por shkronja ruse P. Është shumë e vështirë t'i dallosh ato pasi shfaqen në dritaren e redaktuesit të kodit. Në të njëjtën kohë, përpiluesi VBA, me të hasur në një kod të tillë, thjesht do të krijojë një variabël të ri me llojin e të dhënave Variant, i cili do të ketë vlerë boshe... Mund të duhet pak kohë për të identifikuar një gabim të tillë.

Një rregull i mirë praktik- deklaroni variablat paraprakisht, dhe jo kur ato kërkohen. Kjo e bën programin më të lexueshëm dhe të mirëplanifikuar.

Ju mund të deklaroni disa variabla në një rresht, për shembull, si kjo:

Dim n1 si numër i plotë, s1 si varg

Caktimi i vlerave për variablat duket kështu:

nVar1 = 30

Nëse keni nevojë të rrisni vlerën tashmë ekzistuese të një ndryshoreje, atëherë komanda mund të duket si kjo:

nVar1 = nVar1 + 1

Në të dy shembujt, shenja e barabartë nuk do të thotë "e barabartë", por më tepër do të thotë të caktoni.

Kur u caktoni vlera variablave, mbani parasysh sa vijon:

sVar1 = "Përshëndetje";

  • vlerat e datës / kohës janë të mbyllura në simbolet "hash" - paund:

dVar1 = # 05/06/2004 #

Vini re se kur caktojmë një vlerë datë / orë në këtë "mënyrë eksplicite" do të duhet të përdorim standardet e SHBA: 05 në këtë rast është muaji, 06 është dita. Shfaqja e kësaj vlere (për shembull, në një kuti mesazhesh) do të varet nga cilësimet rajonale në kompjuterin e përdoruesit.

Nëse keni nevojë për të transferuar vlerë heksadecimal, atëherë simbolet & H vendosen përpara saj:

nVar1 = & HFF00

Çfarë është në variablat përpara se t'u caktohen vlerat?

  • Në variablat e të gjitha llojeve të të dhënave numerike - 0.
  • Në vargjet me gjatësi të ndryshueshme - "" (varg me gjatësi zero).
  • Në variablat e vargut me gjatësi fikse, një varg me gjatësi të caktuar me Personazhet ASCII 0 (këto karaktere nuk shfaqen në ekran).
  • Në Variant, bosh.
  • Në Object - asgjë (nuk ka referencë për asnjë nga objektet).

6. Deklarimi i variablave: Dim deklaratë për tipe te ndryshme të dhëna

Më shpesh sesa jo, njerëzit përpiqen të mos përdorin identifikues kur tregojnë llojin e një ndryshoreje (veçanërisht për lloje të tilla si data / ora). Në vend të kësaj, ata përdorin deklaratën Dim. Një operacion i tillë quhet deklaratë. Deklarimi i llojeve të variablave gjatë kryerjes së trajtimit të ngjarjeve përpara përdorimit të tyre - sigurisht, me komente - është stil i mirë në programim. Gjithashtu bën të mundur përmirësimin e "lexueshmërisë" së teksteve të programit.

Nëse një variabël deklarohet duke përdorur deklaratën Dim, nëse përdoret një variabël me të njëjtin emër dhe një identifikues të llojit të ndryshëm, do të ndodhë një gabim "përkufizimi i dyfishtë" kur programi fillon. Për shembull, nëse shprehja e mëposhtme Dim Count As Integer deklaron variablin Count, atëherë variablat Counts, Count nuk mund të përdoren! Numëroni # dhe numëroni®. Duhet të përdoret vetëm emri Count%, por kjo është vetëm një formë tjetër për emrin e ndryshores Count.

Për të caktuar një lloj varianti në një variabël, përdorni operatorin Dim pa As:

Dim F00 trajton F00 si një variabël variant.

Mund ta shkruani edhe kështu: Dim Foo As Variant - Kjo është më e lehtë për t'u lexuar.

Çdo informacion që duhet të jetë i disponueshëm për të gjitha procedurat e trajtimit të ngjarjeve në lidhje me formularin vendoset në seksionin (Të Përgjithshme) të këtij formulari.

Për të vendosur Option Explicit në seksionin (General), ndiqni këto hapa.

1. Hapni dritaren e Kodit.

2. Zgjidhni një objekt (Gjeneral) nga lista e objekteve që ofrohen në dritaren Object.

3. Zgjidhni (Deklaratë) nga lista Proc.

4. Futni Option Explicit.

Shpesh është e nevojshme të përdoren deklaratat e nivelit të formës në seksionin (Përgjithshme) kur përdoruesi është duke eksperimentuar me programet e mostrës nga sistemi i ndihmës.

Për të kopjuar programin e mostrës nga sistemi i ndihmës, përdorni butonin Copy në dritaren Sample Code. Pastaj mund të përdorni artikullin Paste nga menyja Edit për të vendosur shembullin në dritaren e Kodit. Kur Visual Basic ndeshet me komandën Option Explicit, ajo ndalon së lejuari përdorimin e variablave të padeklaruar. Nëse përpiqeni të përdorni gjithsesi një variabël të tillë, do të shfaqet një mesazh gabimi.

Ju mund të përdorni faqen Editor të kutisë së dialogut Tools | 0ptions për të aplikuar një deklaratë të detyrueshme të llojit të ndryshores. Programuesi gjithmonë do ta kontrollojë këtë kuti. Pastaj deklarata Option Explicit vendoset automatikisht aty ku nevojitet në kod.

Nga libri Le të ndërtojmë një përpilues! autor Crenshaw Jack

Nga libri Inteligjenca e Internetit [Një udhëzues për veprim] autori Yushchuk Evgeniy Leonidovich

Motorët metakërkues të internetit me shembuj të kërkimit të llojeve të ndryshme të informacionit sistemi i informacionit që do të kombinonte avantazhet e të gjithë motorëve të kërkimit

Nga libri Teknologjitë e serverëve ruajtjen e të dhënave në Mjedisi Windows® 2000 Windows® Server 2003 nga Dailip Naik

Kapitulli 10 Aftësitë e nënsistemit të ruajtjes në të ndryshme versionet e Windows NT Në kapitujt e mëparshëm, ne shikuam arkitekturën e Windows për sa i përket aftësive specifike të nënsistemit të ruajtjes. Ky kapitull është menduar për profesionistët që përdorin nënsistemet e ruajtjes.

Nga libri HTML 5, CSS 3 dhe Web 2.0. Zhvillimi i faqeve moderne të internetit. autori Dronov Vladimir

Nga libri HTML 5, CSS 3 dhe Web 2.0. Zhvillimi i faqeve moderne të internetit autori Dronov Vladimir

Deklarimi i variablave Përpara se të përdorni një variabël në kodin tuaj të skriptit në ueb, rekomandohet që ta deklaroni atë. Për ta bërë këtë, përdorni deklaratën e deklarimit të ndryshores var, pas së cilës tregohet emri i ndryshores: var x; Tani ndryshores së deklaruar mund t'i caktohet çdo

Nga Libri VBA për Dummies autor Cummings Steve

Deklarimi i variablave Siç u diskutua në kapitullin 6, një deklaratë është një deklaratë VBA me të cilën ju i tregoni përpiluesit qëllimet tuaja për të përdorur një objekt të emërtuar dhe deklaroni në mënyrë eksplicite llojin e atij objekti. Operatorët e deklarimit përdoren më së shpeshti për të

Nga libri Gjuha e programimit C për kompjuterin personal autori Bochkov S.O.

Deklarimi i shumë variablave në një rresht Në një rresht kodi i programit mund të deklarohen edhe disa variabla. Fjala kyçe Dim printohet vetëm një herë dhe variablat ndahen me presje, por mos harroni të specifikoni llojin e të dhënave për secilën variabël në

Nga libri Arti i programimit në gjuhën e skriptimit të guaskës nga Cooper Mendel

Nga libri Linux Programming by Shembull autori Robbins Arnold

Deklarimi i variablave të tipit të personalizuar Ashtu si llojet e integruara të të dhënave, lloji i personalizuar mbetet një koncept abstrakt derisa të deklaroni një variabël të llojit të duhur. Kjo nuk kërkon asgjë të veçantë - sintaksa standarde është e mirë

Nga libri Fundi i Holivarit. Pascal vs C autori Krivtsov M.A.

Deklarimi i variablave të klasës Për të deklaruar variabla që do të nevojiten në veti ose metoda të shumta, përdorni seksionin Deklaratat në fillim të modulit të klasës. Gjithmonë deklaroni këto variabla si Local (Private), sepse objektet janë të destinuara kryesisht për

Nga libri i autorit

Deklarimi i variablave Ky seksion ofron një përshkrim të qëndrueshëm të sintaksës dhe semantikës së deklaratave të variablave. Varietetet e variablave janë renditur në tabelën e mëposhtme: Tabela 3.4. Lloji i ndryshores Shpjegim Variabli i thjeshtë Ndryshorja skalare me numër të plotë ose

Nga libri i autorit

Deklarimi i të dhënave Nëse një identifikues ndjek menjëherë fjalën kyçe afër, larg ose i madh, kjo do të thotë se artikulli përkatës i të dhënave do të vendoset në segmentin standard (për afër) ose mund të vendoset në një segment tjetër të të dhënave (për larg ose i madh). Për shembull,

Nga libri i autorit

9.4. Deklaratat e variablave: deklaroni dhe shtypni Deklaratat e deklarimit dhe të tipiteve janë deklarata të integruara (janë absolutisht identike me njëra-tjetrën dhe janë sinonime) dhe kanë për qëllim të zbatojnë kufizime në variabla. Kjo është një përpjekje shumë e dobët për kontrollin e tipit që

Nga libri i autorit

8.1.2. Pasqyrë e llojeve të ndryshme të sistemeve të skedarëve SHËNIM. Diskutimi në këtë seksion është specifik për Linux. Megjithatë, shumë moderne Sistemet Unix ka edhe karakteristika të ngjashme. Ne ju rekomandojmë që të rishikoni dokumentacionin për sistemin tuaj. Historikisht, V7 Unix mbështeti vetëm një lloj

Nga libri i autorit

Llojet standarde të dhënat dhe përshkrimi i variablave Vlera e caktuar për një variabël duhet të korrespondojë me llojin e saj të specifikuar në seksionin e përshkrimit. Pascal ka katër lloje standarde vlerash (përveç atyre që mund të përcaktohen shtesë në secilin program -

Nga libri i autorit

Llojet standarde të të dhënave dhe deklaratat e ndryshoreve int - numër i plotë i gjatë - i gjatë numër i plotë i shkurtër - i shkurtër i plotë i panënshkruar - numër i plotë i panënshkruar - float - i dyfishtë i vërtetë - i gjatë real char - literal Ndryshe nga Pfscal, C nuk përmban variabla boolean Shembuj të deklarimeve të variablave: int k; char a,

Artikujt kryesorë të lidhur