MS Office-інде қолдаңбалық Visual Basic макротілінде программалау | ||||||||||||||||||||||||||||
Бұл бетте біз компьтерде орнатылған MS Office (Word, Excel) сияқты қолдаңбаларды мысалдап,
VBA-мен қалай жұмыс істеп, қарым-қатынас құрылатынын ашып бергіміз келеді. Әлбетте, оқырман мен пайдаланушыда ынта, талпыныс болуы өте қажет, онсыз әңгімеміз жәй абстракция болып қалуы әбден мүмкін.
Біз қолдан келгенше қысқа жазуға тырысамыз. Пайдаланушыға, бұл жерден табылған жаңалықтарды, VBA-ға тәң бастапқы түсініктерді, басқа да материалды
тілді тез менгеріп алуға жеткілікті деген көлемде ұсынармыз. Макростарды жасау мен жою Макрос жасау тәсілін Microsoft Word қолдаңбасын мысал қарастырайық. Microsoft Word макростары
құжаттың шаблонында (үлгісінде) сақталады. Шаблон (үлгі) - ол, .DOT жалғауы бар, құжаттарды безендіру стилдердің,
келтірулер, макростар және пайдаланушылардың саймандық панелдері туралы ақпараттарды қамтитын арнайы файл. Әдетте, үнделмесе,
барлық жаңадан жасалатын құжаттарда пайдаланылатын жалпы ортақ шаблон NORMAL.DOT деп аталады. Ол
MS Office топтамасының ШАБЛОНЫ деген директориясында орналасады. Ең қызығы, Сіз өзіңіз өз құжаттарыңызға арнап, оның ішіне қажет деген макростарды жазып,
басқа шаблон жасай аласыз да, ұнаған атпен кез келген жерде жазып қоя аласыз. Бұндай шаблондар тек осы шаблон арқылы ашылған құжаттарға қарасты
және оларға әсер ете алады. Word-та қалай макросты жазуға болады
Макрос қалай жояды 1.Макросты жою үшін оның атын Макростар терезесіндегі тізімнің ішінен таңдап алу керек (Сурет 5), сосын "Удалить" батырмасын басу керек. Экранда жоғарғы терезе көрінеді. Онда Сіз амалыңызды құптауыңыз керек (Сурет 6). Амалды қабылдасаңыз ғана таңдалған макрос өшіріледі. Әзірше өшірмей-ақ қояйықVisual Basic редакторында макросты көру мен түзету Макростың мәтінін көру үшін алдыңғы істегідей (Сурет 5), макросты таңдап алу керек. Сосын "Изменить" батырмасын басасыз.
Экранда құжат терезесінің орнына Visual Basic редакторының терезесі алға шығады (Сурет 7).
Егер назарымызды сол жақтағы екі кіші терезеге аудармасақ, оң жақта ең үлкен Normal-NewMacros(Программа) атты терезені байқаймыз
- бұл терезе мақсатымыздағы макростарды қарау мен түзетуге арналған редактордың терезесі. Осы жерде Visual Basic
командалары түрінде біздің орындаған (орындатқан) амалдарымыз бейнеленіп тұр. Енді мәтінді мұқият қарастырайық:
Бірінші жол макрос атын қамтиды, сосын қызметші SUB сөзі кездеседі.Оның жанында дөңгелек жақшалар () орналасып тұр.
Бұл әдеттегі макрос бастамасы. Макрос соңы End Sub болып тұр. Бұл да әдеттегі макростың соңғы жолы.
Бұл екі жол бос макрос жасасаңызда пайда болады. Кейбір сөздер көк түсте болуы мүмкін. Бүл Visual Basic-тің қызметші, арнайы сөздері,
оларды редактор белгілеп бояп қояды. Бастамадан соң жасыл түсті болып макрос сипаттамалары орналасады. Бұл жолдар апостороф <'> таңбасынан басталады.
Олар комментарийлер, түсініктеме береді де еш өнделмейді, бұйрық болып орындалмайды, макрос ағысына еш әсер етпейді. Кез келген жерде орналаса алады.
Келесі қара түсті жолдар - Visual Basic тілінің нұсқаулары (командалары) болып табылады. Осылар амалдарды танытып, копьютерге бұйрық болып,
жұмысты жүзеге асырады.
VBA редакторымен жаңа макросты қалай жасауға болады Енді жаңа макросты тікелей Visual Basic редакторына еңгізіп көрелік. Оның көмегімен келесі мәселені шешпек боламыз:
бізге керегі, Word косыла бере экранға Құжатты ашу диалогын шығарып, содан соң түзетуге ашылған құжатта
курсорды құжаттың соңына орнын ауыстыруыға тиісті. Бұл іс үшін келесі амалдарды орындаңыз
VBA редакторында жобаны жасау Көлемді, күрделі жұмыстарды атқару үшін тікелей жобаларды құрастыру керек болады.
Ол үшін үшінші тәсіл жақсы келеді - алдын ала бөлек-бөлек макростарды жасамай, VBA кодын бірден тұтас түрінде редактор терезесінде енгізе беру.
Яғни бірден, негізгі қолдаңбадан, VBA редакторын Вид-Макрос-Редактор Visual Basic командаларымен немесе Alt-F11 пернелері арқылы қосып жіберу.
Содан соң керек құжатты, сәйкес шаблонымен қоса ашып, процедураларының кодтарын ситемалы қалыпта енгізе беру. Барлық процедуралар шаблон бетінде жазылып
жоба болып ұйымдасады да шаблонда сақталады. |
||||||||||||||||||||||||||||
Жоба жасауға арналған VBA редакторының құралдары | ||||||||||||||||||||||||||||
Жоба терезесі 9-шы суретте жоба жасау мен қолдаңбаларды басқаруға арналған құралдар көрсетілген.Жоба терезесі (Сурет 10) VBA жобасының барлық элементтерін өзі ішінде қамтиды. Олар суретте иерархиялық структура түрінде көрсетілген. Структураға енілгендер қатарында барлық формалар қалыптар, кодты модулдер, негізгі қолдаңбаның объектілері, мысалдап алғанда, парақтар, құжаттар, шаблондар, деректер базалары, презентациялар бар. Бұндай көрініс оларды қарау мен таңдауды жеңілдетеді. Жоба терезесін жабуға, қайта көрсетуге, мөлшерлері мен орындарын өзгертуге болады. Қос шерту немесе менюдің командасы арқылы объекті таңдап алып, онымен әртүрлі жұмыстарды (редакциялау) орындауға болады. Қасиеттер терезесі Бұл терезеде (Сурет 11) тек ағымдағы объектің қасиеттері бейнеленеді. Бұл терезе де аталған амалдарға көнеді. Жоба терезесінде объект таңдалысымен, бұл терезеде оның барлық қасиеттерінің атаулары мен мәндері көрінеді. Қасиет мәндерін еркіңізбен өзгерте аласыз.Модул терезесі Модул терезесі (Сурет 12) VBA-ың кезкелген программасын жазар кезде. Бұл терезеде барлық макростар мен процедуралардың кодтары жазылады. Бір жобада модулдер бірнешеу болуы мұмкін. Модулдер саны жобаның күрделілігімен байланысты. Модулдердің атауларын, санын, экрандағы көрінісін пайдаланушы өз талғамына қарай басқарып отырады.Жобаға процедура қалай қосылады 1.Мәзірдің Вставка Процедура пунктін таңдаңыз. Экранда "Вставка процедуры" диалог терезесі көрінеді (Сурет 13). 2.Терезенің енгізу алаңына жасалып жатқан процедураның атын теріңіз. Терезедегі ажыратқыштар арқылы процедураның қосымша қасиеттерін тағайындаңыз: 3. Процедураның айқындық ауданын танытыңыз: Процедураға кодты қосып жатқанда берілетін көмектер Visual Basic редакторы дамыған анықтама жүйесінен тыс, күрделі, жетілдірілген көмекші құралдарды қамтиды. Анықтама деректерін F1 пернесі арқылы шақыратын болсаңыз, көмек деректері келтіру бойынша өзінен өзі керек жерде деректерін экранға шығарып тұрады. Бұндай жайт, объектілерді, қасиеттер мен методтарды орынды көрсетіп отыруға, сол арқылы қателерді азайтуға үлкен үлес қосады. align=right hspace=15>Мысалы, функцияның атын дұрыс көрсетсеңіз параметрлер жақшасын ашқан кезде, параметлердің тізмі мен қасиеттері көріне кетеді (Сурет 14). Кезектегі параметр қою шрифтпен белгіленеді. Бұндай жағдай программалаушының алдында көптеген жеңілдік туғызады. Егер параметр тұрақты болса, онда система оның атаулы мәндерінің тізімін алдыңызға шығарып береді. Ал, егер нұсқауларда объектілер керек болса, онда көмекші система нүктеден соң барлық оның орынды қасиеттері мен методтарын алдыңызға жайып көрсетед. (Сурет 15). Метод пен қасиетті, немесе уақиғаны ажырату үшін, олардың таңба белгілері бар. Пайдаланушыға оларды жаттап алған өте орынды. Көмек көрсету режимі мен тәртіптерін мынандай терезеде орнатасыз (Сурет 16).Макрокоманданы қалай орындата аламыз Макрокоманданы іске қосуды Visual Basic редакторының батырмасы арқылы немесе F5-(макросты іске қосу) пернесі арқылы, немесе менюдің Запуск-Запуск макроса командасы арқылы орындауға болады.Пайдаланушының формасын (қалыпын) жобаға қосу Үлкен жоба құрылғанда бұндай іс өте орынды болады. Себебі, әртүрлі деректерді не енгізу, не көз алдына шығару керек.Сонымен қатар, кейбір макрокомандалар параметрлерді талап етеді, яғни жобамен тығыз байланыс орнату қажет. Бұл істің формасыз жүзеге асырылуы өте қийын. Форманың деректері арқылы екі жақты әсер-ықпал орын алады. Жобаға форма қосу үшін:1.VBA редакторының ішінен, қалып қосылатын жобаны таңдау керек. Мәзірдің Вставка - UserForm командасын шертсеңіз форма алдыңыздан ашыла кетеді. Бос UserForm1 формасы мен бірге оған орналастыра алатын элементтердің панелі көрінеді (Сурет 17). 2.Қасиеттер терезесінде Name қасиеті арқылы UserForm1 атын басқаға ауыстырыңыз, мысалы Форма1. Терезенің жоғарғы жағында жаңа атау көрінеді. 3.Caption қасиетін де өзгертіңіз. Бұл форманың маңдайшасы. Атаумен шатастырмаңыз (орысшада - Подпись немесе Надпись). Элементтер панелінің саймандары Форманы қосқан кезде немесе ол форма фокус алғанда элементтер панелі көрінеді (Сурет 17 ). Ол, өз ішінде келесі басқару элементтерін (Controls) қамтиды:
|
||||||||||||||||||||||||||||
Қысқаша объектілі программалау тұралы | ||||||||||||||||||||||||||||
VBA тілінде қолдаңбаны басқаруда объект деген ұғым қолданып жұмыс жасайтын қабілет бар.
VBA толық объектіге бағытталған тілдер қатарвна жатпаса да, олардың негізгі қасиеттерін өз ішінде қамтиды.
Кейбір әдебиетте оны уақығаға бағытталған (Event-Driven) тіл деп атайды. Негізінде, VBA объект ұғымын кеңінен қолданады.
Объект ұғымы программалау ісін талай жерге ілгері жылжытты, жеңілдетті. Бұл ұғыммен байланысты басқа ұғымдар программалауды,
жобалар құрастыруды, қолдаңбаларды басқаруды, ұйымдастыруды қарапайым құбылысқа айналдырды.
Объекттер Кез келген затты объект (object) деп қарастыруға болады. Мысалы шкап, тоназытқыш,
үй бөлмесі, қабырға, қағаз парағы, сызық, Word құжаты, Excel кітабі, амал, операция және с.с.
Объект - бізден тыс, тәуелсіз зат болуы мүмкін. Сонымен қатар ол ұғым да болуы мүмкін, яғни, қолға тимес, көзге көрінбес,
иісі, дәмі жоқ, керек болса мөлшері жоқ. Сонда да біз оның басқа қасиеттерін біліп, олардың өзгеруін сезе де, өзгерте де аламыз.
Программалауда көптеген деректер өзара ұйымдасып, түрленіп жатады.Ең қызығы, ол түрлену физикалық түрде де,
біздін ойда да болуы мүмкін. Кейде тек ойда болуы мүмкін. Қайсысы болса да, біз оларды объект деп қарастырамыз, содан соң басқарамыз
(өзгертеміз, бір көріністен екіншісіне ауысамыз).
Программалаушы, объектің өзгеруін (behavior, поведение) қадағалап отырады, түрлі қасиеттеріне мән тағып күйден күйген ауыстырып отырады.
VBA-ның өз объекттері пайдаланушының объекттерімен қосыла күрделі иерархиялық системаны құрастырады.
Объекттер Class немесе Prototype негізінде жасалады. Олар өз кезегінде бірнеше библиотекалардың (Library) ішінде сақталып тұр. Бір класс арқасында
көптеген типтес объекттерді жасауға болады. Әр экземплярының жеке идентификаторы (аты) ажыратып отыруға мүмкіндік береді.
Кейбір объекттер бұрын құрылып қойса, кейбіреуін пайдаланушы өзі еркімен құрастырады. Бұлар да библиотекаға (кітапханаға) жазылып қалады. Кейбір объекттер жеке дана болып жүрсе, кейбіреулері топтасып жатады. Ондай объекттер коллекцияны (Collection) құрастырады.
Объекттер тәртіппен бірін бірі қамтып жатады. Иерархия басында (түбірінде) әр қолдаңбаға тән (өзінің методтарын, қасиеттерін, уақиғаларын инкапсуляциялаған - ішкі құрылысында қамтитын) Application объекті тұрады.
Қасиеттер Методтар |
||||||||||||||||||||||||||||
Сайттың бастапқы бетіне бару |