Программалаушылар фолклорынан...

"Не трожь работающую программу."
Қазақшалағанда:
"Бәлелі жерге бармағыңды абайла...!"

Тағы Сұлтанмахмұттың өлеңін көрем десеңіз осы батырманы басыңыз.

Қазақ тіліне Макрос.


VBA-ның негізгі ұғымдары

VBA-толық біркелілелінген программалау тілі және де түгелге жуық біркелілелінген жасау ортасы болып келеді. Ол, BASIC-тің бір диалектісі болатыны, өзінің атауынанақ байқалып тұр. Бірақ, оған қарамастан, бұл тіл объектіге бағытталған тіл бола тұра, объектілік модель мен көп қолданылар кодқа қатынасты мағналы мүмкіншіліктерді қамтиты. Сол себептен, бұл тілдің көмегімен жетерлікті дер күрделі жобаларды жүзеге асыруға болады. Visual Basic for Application - ActiveX басқару элементтері арқылы кеңейуне мүмкіншілік алатын ашық система. VBA мен жұмыс істер алдында оның негізгі ұғымдары мен құралдарын біліп алған орынды. Біріншіден VBA-ортасы мен VBA-тілін айқын айыра білу керек. Мақаланың мәтін мазмұнын қалыптастырар кезде әрқайсысын ашық атап отырамыз, бірақ, кей кезде, олар мәтін астарынан өзі сезіліп тұрар. Ортаға келгенде, BASIC-редакторды көру керек. Оның көмегімен Сіз программаңыздың мәтінін жасайсыз, түзейсіз, оқу-жазу амалдарын орындайсыз. Біртұтас болып, белгілі күрделі істі орындататын нүсқаулардың тізбегін қарапайым пайдаланушының көзқарасында МАКРОС дейді. Макростарды жазып-түзетудың әдістері осы редактор арқылы жүзеге асырылады.

ЖОБА
  • VBA ортасында пайда болатын, жасалынатын зат (өнім) - жоба. Жоба деген - бөлек файл, мысалы Word-тың құжаты, Excel-дің кітабы немесе Power Point-тың презентациясы. Accses-тің деректер базасын да жоба деуге келеді.
  • Жоба өз ішінде әртүрлі құрамдық бөлшектерді қамтиты - жұмыс кітабының парақтарын(бетін), құжаттарды, слайдтарды ..., және де модулдерді, класс модулдерін, формаларды (қалыптарды).
  • AxtiveX элементтері де жоба ішінді бола алады.
  • VBA жобасы редактор ортасында жасалынбайды. Ол тек MS Office құрамындағы компонент арқылы жасаланылады: құжат, жұмыс кітабы, презентация немесе деректер базасы түрінде.
  • Модул
    Модул (программалық модул) шексіз санды процедура мен функциялардан тұрады.
  • Модул айнымалыларды жариалаулаға мүмкіндік береді.
  • Модул ішінде жарияланған айнымалыға модулдің кезкелген жерінен жетуге болады.
  • Модул, ортаның Insert мәзіріндегі Module командасы арқылы жасалынады. Макрос жазған кезде модул өзінен өзі жасалады, егер бұрын жасалмаған болса.
  • Жоба терезесінде объект (құжаттың, кітаптың ж.с.с. ) атын қос шерту амалы арқылы, осы объктің уақиғаларын өндеіуш-процедураларын орналастыратуға бөлінген модул жасалады. Барлық мүмкін уақиғалардың тізімі арнайы терезеде беріледі (Code терезесі). Кезкелген объектте бір ғана мұндай модул бола алады.
  • Процедуралар мен функциялар
  • Процедуралар мен функциялар - программалық кодтарды қамтитын орындар. Шептен бөлек тұратын, бірнеше арнайы қажеттігі бар, операторлар мен деректердің жариалаулары және деректердің типтерінің жариалаулары болса, қалған басқа операторлар (нұсқаулар) жаппай тек прцедуралар мен функциялар ішінде пайдаланыла алады.
  • Процедуралар мен фунциялар бірі бірін шақыра алады.
  • Excel мен Access-те функциялар нәтижелерін параққа, қалыпқа немесе баяндамаға орналастыруға қолданыла алынады.
  • МЕТОДТАР
  • Әр объект методтарға иеленеді.
  • Методтар объектімен осы текті объектілерге қарастырылған амалдарды орындауға жұмсалынады.
  • Объектке қолданатын методтар: ұяшықты ерекшелендіру, жазуды жою, ерекшелінген мәтінді алмасу буферіне көшірмелеу, презентацияны іске қосу.
  • Объект пен методтар атаулары нүктемен ажыратылады және де сол таңба арқылы логикалық бірлесуге ұрықсат алады. Мысалдар:
    1. Кітапқа жаңа парақ (бет) қосатын қарапайым метод: Sheets.Add
    2. Ағымдағы ұяшықтан оң жағына 5 ұяшық ауытқыған, мөлшері 3x2 болатын, ауданды ерекшелендіретін қамтылған методты шақыру: ActiveCell.Offset(0,5).Resize(3,2).Select
  • УАҚИҒАЛАР
  • Кейбір объекттер уақиғаларға жауап қайтара алады.Ол үшін программа кодында осы уақиғаға арналған өндеуш-процедура ескерілуі керек. Уақиға орын алысымен, бірден осы процедура өзінен-өзі орындала жөнеледі.
  • Уақиғалар мысалдары: жұмыс кітабын ашу, құжатты жасау, алаң мазмұнын өзгерту.
  • Уақиғаның өндеуіш процедуралары құжаттарға, қалыпқа, жұмыс кітаптары мен беттеріне, және де басқару элементтеріне арнап жазылады (оның ішінде ActveX элементтері бар)
  • Программалау ортасында объекттердің уақиғаларын ескеріп программалау, "бұрынғы әдістермен" салыстырғанда, әлдекандай ілгері нәтиже береді.
  • КОЛЛЕКЦИЯЛАР
  • Біркелкі объекттер коллекция деп аталатын арнайы түрдегі тізімдерге бірігіп қосылуы мүмкін.
  • Коллекциялардың көпшілігінің құрамын қосу, алып тастау амалдары арқылы өзгертуге болады.
    1. Жұмыс кітабына бет қосу: Sheets.Add
    2. Кітаптың бірінші бетін жою: Sheets(1).Delete
  • Коллекция элементіне (мүшесіне) жету оның реттік номері немесе атауы арқылы жүзеге асады
    1. Номері арқылы жету: Sheets(1).Name="Мысал"
    2. Аты арқылы жету: Sheets("Мысал").Active
  • Коллекциялар мен олардың VBA тарапынан қолдау табуы объекттермен көпшілік операцияларын орындауға мүмкіндік береді, және біркелкі деректер арасында іздестіруді өткізуге көмегі зор.
  • Деректердің типтері мен операциялары