HTML, Excel, Word, SEOÎñíîâû VBA ⇒ Êîíñòàíòû VBA

Îñíîâû VBA

Ñàìîó÷èòåëü vba: Òåîðèÿ
..Ïåðâûé ìàêðîñ â Word
..Ýòàïû çàïèñè ìàêðîñà
..Çàïèñü ìàêðîñà â Word
..Çàïèñü ìàêðîñà â Excel
..Êîä ìàêðîñà
..Âûïîëíåíèå ìàêðîñà
..Òèïû äàííûõ VBA
..Ïåðåìåííûå VBA
..Êîíñòàíòû VBA
..Ñîâìåñòèìîñòü òèïîâ äàííûõ
..Àðèôìåòè÷åñêèå îïåðàòîðû
..Ëîãè÷åñêèå îïåðàòîðû
..Ñòðîêîâûå îïåðàòîðû
..Ôóíêöèè VBA ÷.1
..Ôóíêöèè VBA ÷.2
..Ïðèìåðû èñïîëüçîâàíèÿ ôóíêöèé
..Ôóíêöèè host-ïðèëîæåíèé
..Ôóíêöèè-ïðîöåäóðû
..Ïîëüçîâàòåëüñêèå ôóíêöèè â Excel
..Îïåðàòîðû âåòâëåíèÿ: ïðîñòîé âûáîð
..Îïåðàòîðû âåòâëåíèÿ: ñëîæíûé âûáîð
..Èñïîëüçîâàíèå MsgBox
..Ïðåðûâàíèå ïðîöåäóð è ôóíêöèé
..Íåîáÿçàòåëüíûå àðãóìåíòû ôóíêöèé
..Öèêëû VBA ÷.1
..Öèêëû ÷.2
..Öèêëû ÷.3
..Ìàññèâû VBA ÷.1
..Ìàññèâû ÷.2
..Ìàññèâû ÷.3
..Óïðàâëåíèå ôàéëàìè ñ ïîìîùüþ VBA
Ñàìîó÷èòåëü vba: Ïðàêòèêà
Èãðà: Öåïíàÿ ðåàêöèÿ
Ïðèëîæåíèÿ
..Ñóììàòîð
..Íàêëåéêè
..Âîñüìåðêà
..Ìåíåäæåð ïî÷òû
Íàäñòðîéêè
..DEF
..SortSheets
..HideSheet

 

Êîíñòàíòû VBA


Êîíñòàíòà - ýòî çíà÷åíèå â ïðîãðàììå VBA, êîòîðîå íå èçìåíÿåòñÿ.

Êîíñòàíòû ìîæíî èñïîëüçîâàòü êàê àðãóìåíòû äëÿ ïðîöåäóð, â ìàòåìàòè÷åñêèõ îïåðàöèÿõ, îïåðàöèÿõ ñðàâíåíèÿ è ïð.

Êîíñòàíòû áûâàþò ëèòåðàëüíûìè è èìåíîâàííûìè.


Ëèòåðàëüíàÿ êîíñòàíòà - ýòî êîíñòàíòà (÷èñëî, ñòðîêîâîå âûðàæåíèå, äàòà), ðàñïîëîæåííàÿ íåïîñðåäñòâåííî â êîäå.


Íàïðèìåð: X = Y + 2


Çäåñü ÷èñëî 2 ÿâëÿåòñÿ ëèòåðàëüíîé êîíñòàíòîé.


Èìåíîâàííàÿ êîíñòàíòà, êàê ïðàâèëî, îáúÿâëÿåòñÿ â íà÷àëå ìîäóëÿ èëè ïðîöåäóðû (àíàëîãè÷íî ïåðåìåííîé) è ïðåäíàçíà÷åíà äëÿ óäîáñòâà ÷èòàíèÿ è ïîíèìàíèÿ ïðîãðàììíîãî êîäà. Íàïðèìåð, áîëåå öåëåñîîáðàçíî èñïîëüçîâàòü â êîäå ïðîãðàììû èìåíîâàííóþ êîíñòàíòó Pi (êîòîðîé ïðèñâîåíî çíà÷åíèå 3,14), ÷åì ëèòåðàëüíóþ êîíñòàíòó 3,14. Ñîãëàñèòåñü, ÷òî âûðàæåíèå
S = Pi * R* R
Áîëåå "ïîíÿòíî", ÷åì
S = 3.14 * R * R

Äðóãèì âåñêèì ôàêòîðîì â ïîëüçó èìåíîâàííûõ êîíñòàíò ñëóæèò òî îáñòîÿòåëüñòâî, ÷òî èçìåíèâ çíà÷åíèå êîíñòàíòû îäèí ðàç, ýòè èçìåíåíèÿ ìãíîâåííî ïðîèçîéäóò âî âñåì ïðîãðàììíîì êîäå. Ëèòåðàëüíóþ êîíñòàíòó íàäî èñêàòü è èçìåíÿòü â òåëå êîäà "âðó÷íóþ", íà ÷òî ìîæåò óéòè äîâîëüíî çíà÷èòåëüíîå âðåìÿ.

Îäíàêî íå ñòîèò èñïîëüçîâàòü èìåíîâàííûå êîíñòàíòû ñïëîøü è ðÿäîì, ò.ê. êîä ìîæåò ñòàòü àáñîëþòíî íå÷èòàáåëüíûì, à âû ñàìè çàïóòàåòåñü, ÷òî è ãäå íàõîäèòñÿ.

Ëèòåðàëüíûå êîíñòàíòû

Ñóùåñòâóåò íåñêîëüêî ïðàâèë, êîòîðûå íåîáõîäèìî ñîáëþäàòü ïðè íàïèñàíèè ëèòåðàëüíûõ êîíñòàíò.

Êîíñòàíòû String

×èñëåííûå êîíñòàíòû

Êîíñòàíòû Date

Êîíñòàíòû Boolean

Ñóùåñòâóþò òîëüêî äâà âèäà êîíñòàíò òèïà Boolean: True, False. Ïðè ýòîì èõ íåëüçÿ áðàòü â êàâû÷êè èëè ñîêðàùàòü.

Èìåíîâàííûå êîíñòàíòû

Ïðè ñîçäàíèè è îáúÿâëåíèè èìåíîâàííûõ êîíñòàíò íàäî ïðèäåðæèâàòüñÿ òåõ æå ïðèíöèïîâ, ÷òî è ïðè ðàáîòå ñ ïåðåìåííûìè.

Äëÿ îáúÿâëåíèÿ èìåíîâàííîé êîíñòàíòû ïðåäíàçíà÷åíî êëþ÷åâîå ñëîâî Const


Ñèíòàêñèñ

Const name_1 = value_1 [opetator name_2..] [, name_3 =..]

Name_N - ëþáîé äîïóñòèìûé èäåíòèôèêàòîð èìåíè êîíñòàíòû;
Value_N - ëþáîå çíà÷åíèå äàííûõ;
Opetator - àðèôìåòè÷åñêàÿ èëè îïåðàöèÿ ñðàâíåíèÿ ìåæäó äâóìÿ èìåíàìè ðàíåå îïèñàííûõ êîíñòàíò.


Îáëàñòü äåéñòâèÿ èìåííûõ êîíñòàíò àíàëîãè÷íà ïåðåìåííûì, ò.å. êîíñòàíòû áûâàþò ïðîöåäóðíîãî è ìîäóëüíîãî óðîâíÿ.

Ïîñêîëüêó îäíîé èç ãëàâíûõ öåëåé èñïîëüçîâàíèÿ èìåíîâàííîé êîíñòàíòû ÿâëÿåòñÿ ïðåäîòâðàùåíèå ïîâòîðåíèÿ èëè äóáëèðîâàíèÿ ëèòåðàëüíûõ êîíñòàíò, êàê ïðàâèëî, áûâàåò íåîáõîäèìî, ÷òîáû èìåíîâàííûå êîíñòàíòû áûëè äîñòóïíû âñåì ïðîöåäóðàì â ìîäóëå. Ïîýòîìó öåëåñîîáðàçíî ïîìåùàòü îáúÿâëåíèÿ êîíñòàíò íà ìîäóëüíîì óðîâíå, ÷òîáû ó íèõ áûëà íàèáîëüøàÿ îáëàñòü äåéñòâèÿ.



Çàäàíèå òèïà êîíñòàíòû

Êîãäà îáúÿâëÿåòñÿ èìåíîâàííàÿ êîíñòàíòà èëè èñïîëüçóåòñÿ ëèòåðàëüíàÿ, VBA âîñïðèíèìàåò ýòó êîíñòàíòó òåì òèïîì, êîòîðûé íàèáîëåå ñîãëàñóåòñÿ ñ åå çíà÷åíèåì.

 VBA ìîæíî çàäàâàòü òèï êîíñòàíòû (ïî àíàëîãèè ñ ïåðåìåííûìè). Íî â îòëè÷èå îò ïåðåìåííûõ íåëüçÿ çàäàâàòü òèïû Object è Array. Íàïðèìåð, â âûøåïðèâåäåííîì ëèñòèíãå âïîëíå óìåñòíî êîíñòàíòå Pi çàäàòü òèï Single
Const Pi As Single = 3.14

Âíóòðåííèå êîíñòàíòû

Âíóòðåííÿÿ êîíñòàíòà - ýòî èìåíîâàííàÿ êîíñòàíòà, êîòîðàÿ áûëà îïðåäåëåíà ðàçðàáîò÷èêàìè VBA.

Ïîìèìî âíóòðåííèõ êîíñòàíò VBA ñóùåñòâóþò âíóòðåííèå êîíñòàíòû äëÿ ðàáîòû ñ host-ïðèëîæåíèÿìè. Òàê, Excel ñîäåðæèò âíóòðåííèå êîíñòàíòû äëÿ èñïîëüçîâàíèÿ ñ ðàáî÷èìè êíèãàìè ýëåêòðîííûõ òàáëèö. Àíàëîãè÷íî, Word ñîäåðæèò âíóòðåííèå êîíñòàíòû äëÿ ðàáîòû ñ äîêóìåíòàìè è øàáëîíàìè òåêñòîâîãî ðåäàêòîðà, à Access - äëÿ îïåðàöèé ñ áàçàìè äàííûõ.

Âíóòðåííèå êîíñòàíòû, îïðåäåëÿåìûå VBA, íà÷èíàþòñÿ ñ áóêâ vb. Âíóòðåííèå êîíñòàíòû Excel - xl; Word - wd.

Âíóòðåííèå êîíñòàíòû, îïðåäåëÿåìûå host-ïðèëîæåíèåì VBA (íàïðèìåð, Excel, Word) óïðîùàþò èñïîëüçîâàíèå ðàçëè÷íûõ ñâîéñòâ è ìåòîäîâ, ïðèíàäëåæàùèõ ýòîìó host-ïðèëîæåíèþ.

Äëÿ òîãî, ÷òîáû óâèäåòü ïîëíûé ñïèñîê èìåþùèõñÿ â íàëè÷èè âíóòðåííèõ êîíñòàíò íåîáõîäèìî èñïîëüçîâàòü Object Browser. Åãî ìîæíî âûçâàòü êëàâèøåé F2 â îêíå ðåäàêòîðà VBA.




 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû