Идентификатори, изрази и променливи VisualBasic за приложение

Езикът за програмиране се основава на строги правила, които определят как се пишат идентификатори, променливи и контролни структури. В този смисъл езикът за програмиране и чуждият език са много сходни. Ако тези правила не се спазват, Visual Basic for Application просто няма да може да изпълни въведената от вас програма, точно както носителят на езика няма да ви разбере, ако направите изречение неправилно. В следващата статия ще научите какво представляват идентификаторите, запазените думи, ще се запознаете с различни типове данни, константи и променливи. Имайте предвид, че Visual Basic for Application, въпреки че е вграден в приложенията на Microsoft Office, предоставя пълен набор от инструменти за кодиране на задачи с всякаква сложност (естествено ограничени до офис приложения).Идентификатори на Visual Basic за приложенияИдентификаторите са в основата на всеки език. Идентификаторите са имената на константи, променливи, контроли, процедури и методи на обекти. Има пет правила за конструиране на идентификатори във Visual Basic for Application:— Първият знак на идентификатора трябва да бъде буква или долна черта. Например идентификаторите First, _Var са правилни, но 1st, 100 са неправилни. Разрешено е използването на цифри в средата или в края на идентификатора, например: A1, A1B2 и др. — Не е разрешено използването на интервали в идентификаторите, както и специални знаци: препинателни знаци, както и @, #, $, &. Идентификатори My Var, New& са неправилни. - Максималната дължина на идентификатора не може да надвишава 255 знака. - Идентификаторът не може да съответства на запазените думи на програмния език Visual Basic for Application. — В рамките на същия модул или проект не е разрешенодекларирайте един и същи идентификатор два пъти.Запазени думиЗапазените думи са стандартни инструкции на езика за програмиране, които ви позволяват да изпълнявате определени действия: описвате процедури, отваряте цикли, декларирате променливи и др.. Следната таблица изброява запазените думи на Visual Basic за приложения. Нито една от тези думи не може да се използва като идентификатор.

ДостъпПсевдонимВсякаквиДобаветеКатоБазаДвоиченот Ref
ByValслучайCdeclСравнетеДатавсекиДругоElseIf
празнаКрай АкогрешкаИзричноНевярноЗаВземетеГлобален
вВходЕЛенПозволявамLibМестенключалка
цикълазсредатамодулНовСледващияНищоНула
Наопцияпо желаниеИзходParamArrayКонсервирайтепечатЧастно
ИмотОбщественСлучаенПрочетиРезюмеТърсенекомплектсподелено
СтатичностъпканизТекстТогававремеДа сеВярно
ТипДоВендСъбитияКакво представляват променливитеПроменливите могат да се използват за временно съхраняване на стойностите на изрази за по-късна употреба. Visual Basic for Application използва голям брой типове данни, които осигуряват обработка на различни видове числови, текстови, календарни (дата, час), логически данни. Техенсписъкът е даден в следната таблица:

Тип данниОписание
байтове8-битови (1 байт) неподписани числа в диапазона от 0 до 255. Типът данни може да се използва при анализиране на ASCII символни кодове или прости изчисления, ако е известно предварително, че резултатът няма да надвишава 255. Например, като използвате променлива Byte, можете да съхранявате броя на дните в месеца, тъй като максималната стойност не надвишава 31.
Цяло число16-битови цели числа, вариращи от -32768 до 32767. Цифровият тип данни Integer често се използва за достъп до елементите на масив или колекция.
Дълги32-битови цели числа (4 байта) в диапазона от -2147483648 до 2147483647. Променливите от този тип ви позволяват да съхранявате резултатите от аритметични изрази, които използват достатъчно големи цели числа. Например типът данни Long може да се изисква при изчисляване на големи прости числа, числа на Фибоначи, факториел на число и т.н.
десетична96-битови (12 байта) числа без знак. В дробната част записва степента на числото. В този случай броят на десетичните знаци може да варира от 0 до 28. Променливите от типаDecimalмогат да съхраняват супер големи цели числа в диапазона от -79*10 28 до 79*10 28 .
Двойна64-битови (8 байта) числа с плаваща запетая с двойна точност за работа с числа в диапазона от -1,798E+308 до -4,941E-324 за отрицателни стойности и 4,941E-324 до 1,798E+308 за положителни стойности.

Присвояване на стойност на променлива

Първоначалната стойност на променливата е 0 за числови типове данни и празен низ "" за низови стойности. В повечето случаи товастойността е доста подходяща за условията на проблема. Така че можете да напишете програма за сумиране на редовете на масива A, без да нулира стойността на променливата S: Dim S

За I = 1 до 5 S = S + A[I] Напред

Такава програма, когато се изпълни, няма да генерира грешка и правилно сумира петте елемента на масива. Но правилата на добрия вкус в програмирането все още ви принуждават да присвоите първоначална стойност на нова променлива, преди да я използвате. Към програмата трябва да се добави още един ред за сумиране на елементите на масива:

Dim S S = 0 За I = 1 до 5 S = S + A[I] Напред

Можете да присвоите стойност на променлива по два начина: изрично, като използвате съответните езикови инструкции на Visual Basic for Application, или неявно, като например променливи в цикъл. Следните примери показват различни начини за присвояване на стойности на променливи: ' Числова променлива

Dim Year As Integer Year = 1999 ' boolean Dim IsTrue As Boolean IsTrue = True ' променлива от тип date Dim BD As Date BD = #10/4/99# ' изчисляване на стойността на израз B = (3*(3+4))/4 ' използване на функции на Visual Basic за Application S = InputBox("P" наем, представете се") ' първоначалната стойност на променливата е 1, крайната стойност е 5. За I = 1 до 5 Debug.Print I Next I

" Променливата I може да се използва и след края на цикъла. По напълно различен начин операторът Set инициализира обектите на Microsoft Office. Следващата програма използва този израз, за ​​да създаде променлива на R обект от тип Range и след това да присвои стойности на свойствата Bold и Underline.

Dim R As Range Set R = Application.Selection.Range With R .Bold = True .Characters(1).Underline = wdUnderlineSingle End

Живот и обхват на променлива

Разграничете местните иглобални променливи. Локалните променливи обикновено са обвързани с модулите или процедурите, в които са декларирани, и веднага щом процедурата приключи, всички локални променливи престават да съществуват. Можете да определите живота на променлива и нейния обхват, като използвате специални дескриптори.

Декларация на статични променливи

Изявлението Static прави променлива статична. Такива променливи обикновено се използват в процедури и не се премахват от паметта, когато прекратят. Следващият път, когато извикате процедурата, можете да използвате предварително изчислената стойност. Процедурата CntCall демонстрира как могат да се използват статични променливи - всеки път, когато бъде извикана, на екрана се появява диалогов прозорец с информация за броя на извикванията към нея: Sub CntCalls() Static Cnt Cnt = Cnt + 1 MsgBox "Брой извиквания на процедури" & Cnt End Sub

Разрешено е да се използват няколко статични променливи вътре в процедурата - в този случай всяка променлива трябва да бъде декларирана с помощта на оператора Static. Като декларирате променливи, можете да направите всички локални променливи статични:

Static Sub CntCalls() Dim Cnt Cnt = Cnt + 1 MsgBox "Брой извиквания на процедури" & Cnt End Sub

Деклариране на публични променливи

Публичното изявление прави променливата публично достъпна за всички процедури и модули в проекта. Променливата globalvar, декларирана по-долу, е достъпна от всяка процедура и нейният живот съответства на времето за изпълнение на програмата. Public globalvar As Integer Обратното на Public, Private изявлението декларира локална променлива, тоест променлива, която е налична само в един модул. Описаната по-долу променлива localvar може да се използва във всички процедури, дефинирани в текущия модул. опитдостъпът до него от други модули води до синтактична грешка. Частна локална променлива като цяло число

Създаване и използване на константи

Една променлива приема различни стойности през цялото си съществуване, но в някои случаи в изразите се използват постоянни стойности. В такива случаи е по-правилно да използвате константи, които ви позволяват да замените трудни за запомняне стойности със специални идентификатори. Visual Basic for Application използва три типа константи: - Системни константи - Вътрешни константи на езика за програмиране Visual Basic for Application - Константи, които декларирате. Системните константи са дефинирани в библиотеките на Microsoft Office, които се включват с помощта на диалоговия прозорец

Такива константи обикновено зависят от приложението, в което се изпълнява определен модул. Има доста от тях, но не е нужно да ги помните всички, защото можете да се обърнете към системата за помощ на Visual Basic for Application и да получите информация за предназначението на системната константа. Системните константни идентификатори се състоят от две части - префикс и основно име. Освен това префиксът определя предназначението на константата и обикновено е обозначение от два или три знака, например vb е вградена константа на Visual Basic, ac е константа, използвана в Access, wd е константа, използвана в Word, mso е константа с общо предназначение на Microsoft Office. Visual Basic for Application не налага никакви специални изисквания към именуването на константата, трябва само да вземете предвид общите правила за компилиране на идентификатори на Visual Basic for Application. Като цяло синтаксисът на инструкцията Const е: Const [As ] = , [As ] = . Например числото 3.1415926 може да бъде заменено с краткия идентификатор Pi или Pi чрез деклариране на нова константа: Const Pi = 3.1415926 VВ математически изрази, където трябва да се използва числото p, трябва да се използва константата Pi, декларирана по-горе.

Деклариране и използване на масиви

- името на масива, формирано като другите идентификатори. е дължината на всяко измерение на масива. е незадължителен тип данни при описване на масив.

Програмите обикновено използват едномерни, двумерни и триизмерни масиви. Освен това, едномерните масиви понякога се наричат ​​вектори, а двумерните масиви понякога се наричат ​​таблици. Следният пример декларира едномерен масив A: Dim A(6). Елементите на масива обикновено се номерират, започвайки от 0. По този начин за масива A, деклариран по-горе, паметта се разпределя за седем елемента: A(0), A(1), A(2), A(3), A(4), A(5) и A(6). Не е необходимо обаче да използвате елемента на масива с нулев индекс - можете да се ограничите до стойностите, съхранени в останалите шест елемента от първия до шестия. Размерите на масива, посочени в скоби след идентификатора, обикновено са числови константи. Можете обаче да промените диапазона от стойности. Това използва следния синтаксис:

Преди да използвате динамичен масив с инструкцията ReDim, трябва да дефинирате първоначалното измерение на масива: ReDim. Синтаксисът на инструкцията ReDim е същият като Dim: ReDim [Preserve] array(indeces)

След ReDim можете да използвате спецификатора Preserve, който запазва съдържанието на масива. Обикновено този дескриптор се използва при многократно преоразмеряване на масива, когато той вече съдържа някои стойности. Например, следният пример демонстрира как да увеличите размера на масив с един елемент, без да губите стойностите на вече съществуващите елементи:

arraysize = Ubound(DynArray) + 1 ReDim Preserve DynArray[arraysize]

За да научите бързо функциите на използванепроменливи, константи и масиви, трябва да използвате всяка книга за BASIC, която дава примери за различни програми, и след това да се опитате да ги внедрите в средата на Visual Basic for Application. Вярно е, че за това, в допълнение към променливите и константите, ще ви трябват и познания за управляващи структури, като цикли, условия, клонове, както и вградени математически, финансови, низови, полезни функции на езика за програмиране.

Следващите статии от поредицата са посветени на тези теми, където освен теоретична информация за синтаксиса и тънкостите на използването на езикови конструкции ще бъдат дадени и практически примери за използване.Сергей Лосев