|
Îñíîâû îôèñíîãî ïðîãðàììèðîâàíèÿ
Âèçóàëüíûé ÿçûê ïðîãðàììèðîâàíèÿ Áåéñèê äëÿ ïðèëîæåíèé: Visual Basic for Applications (VBA)
VBA – ýòî ïîäìíîæåñòâî âèçóàëüíîãî ÿçûêà ïðîãðàììèðîâàíèÿ Visual Basic (VB), êîòîðîå âêëþ÷àåò ïî÷òè âñå ñðåäñòâà ñîçäàíèÿ ïðèëîæåíèé VB.
VBA îòëè÷àåòñÿ îò ÿçûêà ïðîãðàììèðîâàíèÿ VB òåì, ÷òî ñèñòåìà VBA ïðåäíàçíà÷åíà äëÿ íåïîñðåäñòâåííîé ðàáîòû ñ îáúåêòàìè Office, â íåé íåëüçÿ ñîçäàâàòü ïðîåêò íåçàâèñèìî îò ïðèëîæåíèé Office. Òàêèì îáðàçîì, â VBA ÿçûêîì ïðîãðàììèðîâàíèÿ ÿâëÿåòñÿ VB, à èíñòðóìåíòàëüíàÿ ñðåäà ïðîãðàììèðîâàíèÿ ðåàëèçîâàíà â âèäå ðåäàêòîðà VB, êîòîðûé ìîæåò àêòèâèçèðîâàòüñÿ èç ëþáîãî ïðèëîæåíèÿ MS Office.
Íàïðèìåð, äëÿ òîãî, ÷òîáû îòêðûòü ðåäàêòîð VBA èç ïðèëîæåíèÿ PowerPoint íåîáõîäèìî âûïîëíèòü êîìàíäó Ñåðâèñ / Ìàêðîñ / Ðåäàêòîð VBA. Âåðíóòüñÿ èç ðåäàêòîðà â ïðèëîæåíèå ìîæíî, âûáðàâ êîìàíäó Microsoft PowerPoint â ìåíþ Âèä èëè êîìáèíàöèåé êëàâèø Alt + F11.
Ñ ïîìîùüþ âñòðîåííîãî â ðåäàêòîð VBA íàáîðà ýëåìåíòîâ óïðàâëåíèÿ è ðåäàêòîðà ôîðì ïîëüçîâàòåëü ìîæåò ñîçäàòü ïîëüçîâàòåëüñêèé èíòåðôåéñ äëÿ ðàçðàáàòûâàåìîãî ïðîåêòà ñ ýêðàííîé ôîðìîé. Ýëåìåíòû óïðàâëåíèÿ ÿâëÿþòñÿ îáúåêòàìè, à äëÿ êàæäîãî îáúåêòà îïðåäåëåí ðÿä âîçìîæíûõ ñîáûòèé (íàïðèìåð, ùåë÷îê èëè äâîéíîé ùåë÷îê ìûøè, íàæàòèå êëàâèøè, ïåðåòàñêèâàíèå îáúåêòà è ò.ä.).
Êàæäîå ñîáûòèå ïðîÿâëÿåòñÿ â îïðåäåëåííûõ äåéñòâèÿõ ïðîãðàììû (îòêëèêàõ, ðåàêöèè). Ïîëüçîâàòåëüñêàÿ ôîðìà ïîçâîëÿåò ñîçäàâàòü îêíà äèàëîãà ïðèëîæåíèé. ßçûê ïðîãðàììèðîâàíèÿ VBA ñëóæèò äëÿ íàïèñàíèÿ êîäà ïðîãðàììû, íàïðèìåð äëÿ ñîçäàíèÿ ôóíêöèé ïîëüçîâàòåëÿ â Excel.
Òîò ôàêò, ÷òî ñèñòåìà ïðîãðàììèðîâàíèÿ VBA ïðåäíàçíà÷åíà äëÿ ðàáîòû ñ îáúåêòàìè Office, ïîçâîëÿåò ýôôåêòèâíî åå ïðèìåíÿòü äëÿ àâòîìàòèçàöèè äåÿòåëüíîñòè, ñâÿçàííîé ñ ðàçðàáîòêîé ðàçëè÷íûõ òèïîâ äîêóìåíòîâ.
Ðàññìîòðèì àëãîðèòì ñîçäàíèÿ ôóíêöèé ïîëüçîâàòåëÿ â VBA:
1. Âûçâàòü îêíî ðåäàêòîðà êîäà VBA, âûïîëíèâ êîìàíäó Ñåðâèñ / Ìàêðîñ / Ðåäàêòîð Visual Basic èëè íàæàòü Alt+F11.
2. Âûïîëíèòü ïóíêò ìåíþ ðåäàêòîðà Insert / Module (Âñòàâêà / Ìîäóëÿ).
3. Äàëåå âûïîëíèòü Insert / Procedure (Âñòàâêà /Ïðîöåäóðà).  îòêðûâøåìñÿ äèàëîãîì îêíå Add Procedure ââåñòè èìÿ ôóíêöèè (íàïðèìåð, ÑÓÌÌÀ5) è óñòàíîâèòü ïåðåêëþ÷àòåëè: Type (òèï) – â ïîëîæåíèå Function (ôóíêöèÿ); Scope (Îáëàñòü îïðåäåëåíèÿ) - â ïîëîæåíèå Public (Îáùàÿ) è ùåëêíóòü ÎÊ.
4.  îêíå ðåäàêòîðà äëÿ ïðîãðàììèðîâàíèÿ VBA ïîÿâèòñÿ çàãîòîâêà ôóíêöèè: çàãîëîâîê - Public Function ÑÓÌÌÀ5() è îêîí÷àíèå - End Function, ìåæäó êîòîðûìè íàäî ïîìåñòèòü êîä òåëà ôóíêöèè.
5. Äàëåå ââîäèì ñïèñîê ïàðàìåòðîâ ôóíêöèè, íàïðèìåð, â ñêîáêàõ óêàçûâàåì (x, y, z, i, j), òèï äàííûõ (äëÿ òî÷íûõ ðàñ÷åòîâ) è òèï âîçâðàùàåìîãî ôóíêöèåé çíà÷åíèÿ (â äàííîì ïðèìåðå íå áóäåì ââîäèòü). Êðîìå òîãî, ââîäèì òåëî ôóíêöèè, íàïðèìåð, ÑÓÌÌÀ5 = x + y + z + i + j.  èòîãå ïîëó÷èì ñëåäóþùèé òåêñò ïðîãðàììû:
Public Function ÑÓÌÌÀ5(x, y, z, i, j)
ÑÓÌÌÀ5 = x + y + z + i + j
End Function
6. Âîçâðàùàåìñÿ â îêíî ïðèëîæåíèÿ Excel, â êîòîðîì, íàïðèìåð, íàì íåîáõîäèìî âûïîëíèòü ñóììèðîâàíèå ïÿòè çíà÷åíèé.
7. Âûïîëíÿåì "Âñòàâêà/Ôóíêöèÿ" è â îòêðûâøåìñÿ îêíå ìàñòåðà ôóíêöèé âûáèðàåì êàòåãîðèþ «Îïðåäåëåííûå ïîëüçîâàòåëåì», à â îêíå «Âûáåðèòå ôóíêöèþ» âûäåëÿåì ÑÓÌÌÀ5 è ùåëêàåì ÎÊ.
8. Äàëåå âûáèðàåì ÿ÷åéêè ñî çíà÷åíèÿìè è ùåëêàåì ÎÊ. Ïîëó÷àåì ñëåäóþùèé ðåçóëüòàò.
Ìàêðîñû
Ñîçäàíèå ìàêðîñà
Ñîçäàäèì ìàêðîñ äëÿ àâòîìàòè÷åñêîãî ñóììèðîâàíèÿ äâóõ ÷èñåë â ÿ÷åéêàõ A1, B1 è ðàçìåùåíèÿ ðåçóëüòàòà â ÿ÷åéêå C1, à òàêæå çàëèâêè ÿ÷åéêè C1 áèðþçîâûì öâåòîì.
Àëãîðèòì ñîçäàíèÿ ìàêðîñà äëÿ ïîñòàâëåííîé çàäà÷è:
1. Âûáåðèòå Ñåðâèñ/Ìàêðîñ, Íà÷àòü çàïèñü.
2. Â ïîëå Èìÿ ìàêðîñà ââåäèòå èìÿ äëÿ ìàêðîñà.
Ïåðâûì ñèìâîëîì èìåíè ìàêðîñà äîëæíà áûòü áóêâà.  èìåíè ìàêðîñà íå äîïóñêàþòñÿ ïðîáåëû; â êà÷åñòâå ðàçäåëèòåëåé ñëîâ ìîæíî èñïîëüçîâàòü çíàêè ïîä÷åðêèâàíèÿ.
3. Äëÿ òîãî ÷òîáû çàïóñêàòü ìàêðîñ ñ ïîìîùüþ ñî÷åòàíèÿ êëàâèø, ââåäèòå áóêâó â ïîëå Ñî÷åòàíèå êëàâèø. Äîïóñêàåòñÿ èñïîëüçîâàíèå ñî÷åòàíèé CTRL+ áóêâà (äëÿ ñòðî÷íûõ áóêâ) èëè CTRL+SHIFT+ áóêâà (äëÿ ïðîïèñíûõ áóêâ), ãäå áóêâà — ëþáàÿ áóêâåííàÿ êëàâèøà íà êëàâèàòóðå. Íå âûáèðàéòå ñòàíäàðòíîãî ñî÷åòàíèÿ êëàâèø, òàê êàê âûáðàííîå ñî÷åòàíèå êëàâèø ïîäàâëÿåò ñòàíäàðòíûå ñî÷åòàíèÿ êëàâèø Microsoft Excel íà òî âðåìÿ ñ äàííîé êíèãîé.
4. Â ïîëå "Ñîõðàíèòü" âûáåðèòå êíèãó, â êîòîðîé òðåáóåòñÿ ñîõðàíèòü ìàêðîñ.
Ñîõðàíèòå ìàêðîñ â «Ýòà êíèãà». Äëÿ ñîçäàíèÿ êðàòêîãî îïèñàíèÿ ìàêðîñà, ââåäèòå íåîáõîäèìûé òåêñò â ïîëå Îïèñàíèå. Íà ñêðèíøîòå ïðåäñòàâëåí ïðèìåð çàïîëíåíèÿ îêíà äèàëîãà «Çàïèñü ìàêðîñà»
5. Íàæìèòå êíîïêó OK.
6. Âûïîëíèòå ìàêðîêîìàíäû, êîòîðûå íóæíî çàïèñàòü.
7. Íàæìèòå êíîïêó Îñòàíîâèòü çàïèñü íà ïëàâàþùåé ïàíåëè èíñòðóìåíòîâ «Îñ» (Îñòàíîâèòü çàïèñü) èëè Ñåðâèñ / Ìàêðîñ / Îñòàíîâèòü ìàêðîñ.
Ïî îêîí÷àíèè çàïèñè ìàêðîñà îí ïîÿâëÿåòñÿ â ñïèñêå ìàêðîñîâ ïîä ñâîèì èìåíåì.
Ðåäàêòîð VBA àâòîìàòè÷åñêè çàïèñàë ïîñëåäîâàòåëüíîñòü ìàêðîêîìàíä èëè ïðîãðàììó ïî âûïîëíåííûì äåéñòâèÿì:
Äëÿ âûçîâà ìàêðîñà íåîáõîäèìî âûïîëíèòü êîìàíäó Ñåðâèñ / Ìàêðîñ / Ìàêðîñû. Ïîñëå ýòîãî â äèàëîãîâîì îêíå ñî ñïèñêîì ìàêðîñîâ åãî ìîæíî íàéòè ïî èìåíè è íàæàòü êíîïêó Âûïîëíèòü.
Íàçíà÷åíèå êíîïêè ïàíåëè èíñòðóìåíòîâ äëÿ çàïóñêà ìàêðîñà
Ìàêðîñ ìîæíî çàïóñòèòü ñ ïîìîùüþ êíîïêè íà âñòðîåííîé ïàíåëè èíñòðóìåíòîâ, äëÿ ýòîãî íåîáõîäèìî âûïîëíèòü:
Âûáðàòü ïóíêò Íàñòðîéêà â ìåíþ Ñåðâèñ.
 îêíå äèàëîãà Íàñòðîéêà âûáðàòü âêëàäêó Êîìàíäû è âûáðàòü ïàðàìåòð Ìàêðîñû â ñïèñêå Êàòåãîðèè, â ñïèñêå Êîìàíäû âûäåëèòü «Íàñòðàèâàåìàÿ êíîïêà».
Èç ñïèñêà Êîìàíäû ïåðåòàùèòü ñ ïîìîùüþ ìûøè íàñòðàèâàåìóþ êíîïêó íà ïàíåëü èíñòðóìåíòîâ.
Ùåëêíóòü ýòó êíîïêó ïðàâîé êíîïêîé ìûøè è âûáðàòü êîìàíäó Íàçíà÷èòü ìàêðîñ â êîíòåêñòíîì ìåíþ.
Ââåñòè èìÿ ìàêðîñà â ïîëå Èìÿ ìàêðîñà.
Íàçíà÷åíèå îáëàñòè ãðàôè÷åñêîãî îáúåêòà äëÿ çàïóñêà ìàêðîñà:
Ñîçäàéòå ãðàôè÷åñêèé îáúåêò.
Ê âûäåëåííîìó ãðàôè÷åñêîìó îáúåêòó, ïðèìåíèòå êîíòåêñòíîå ìåíþ.
Âûáåðèòå â êîíòåêñòíîì ìåíþ êîìàíäó Íàçíà÷èòü ìàêðîñ.
 ïîÿâèâøåìñÿ îêíå äèàëîãà "Íàçíà÷èòü ìàêðîñ îáúåêòó", ââåäèòå íàçâàíèå ìàêðîñà â ïîëå Èìÿ ìàêðîñà, çàòåì íàæìèòå êíîïêó OK.
Ðåäàêòèðîâàíèå ìàêðîñà
Ðåäàêòèðîâàíèå ìàêðîñà îñóùåñòâëÿåòñÿ ðåäàêòîðîì VBA, äëÿ ýòîãî íåîáõîäèìî âûïîëíèòü ñëåäóþùåå:
1. Âûáðàòü êîìàíäó Ñåðâèñ / Ìàêðîñ / Ìàêðîñû
2. Âûáðàòü èìÿ ìàêðîñà, êîòîðûé ñëåäóåò èçìåíèòü, â ñïèñêå Èìÿ.
3. Íàæàòü êíîïêó Èçìåíèòü, áóäåò îòêðûòî îêíî Visual Basic, â êîòîðîì âîçìîæíî ðåäàêòèðîâàíèå êîìàíä âûáðàííîãî ìàêðîñà, çàïèñàííûõ íà ÿçûêå Visual Basic.
Óäàëåíèå ìàêðîñà:
 ìåíþ Ñåðâèñ âûáåðèòå ïóíêò Ìàêðîñ, à çàòåì — êîìàíäó Ìàêðîñû.
 ñïèñêå ìàêðîñîâ òåêóùåé ðàáî÷åé êíèãå íåîáõîäèìî âûáðàòü ìàêðîñ, êîòîðûé ïðåäïîëàãàåòñÿ óäàëèòü è íàæàòü êíîïêó Óäàëèòü.
Ïåðåèìåíîâàíèå ìàêðîñà
Äëÿ ïåðåèìåíîâàíèÿ ìàêðîñà íåîáõîäèìî âîéòè â ðåæèì ðåäàêòèðîâàíèÿ ìàêðîñà è â òåêñòå ïðîãðàììû èçìåíèòü çàãîëîâîê. Íîâîå èìÿ àâòîìàòè÷åñêè çàìåíèò ñòàðîå â ñïèñêàõ ìàêðîñîâ, è ïî êëàâèøàì áûñòðîãî âûçîâà áóäåò âûçûâàòüñÿ ìàêðîñ ñ íîâûì èìåíåì.
|