8 т а р а у
VISUAL BASIC FOR APPLICATIONS
ОРТАСЫНДА БАСҚАРУШЫ БАҒДАРЛАМАЛАРДЫ ЖАСАУ
ШЫҒАРУ
8.1. Visual Basic for Applications
жалпы сипаттамалары
Visual Basic for Applications (VBA) бағдарламалау тілі Microsoft
Office қҧралдарын жасап шығару ортасы ретінде пайдалана отырып,
нақты пайдаланушының əрекеттерін автоматтандырудан бастап жəне
толық ауқымды қосымшаларды жасап шығарумен аяқтай отырып,
бағдарламалаудың кез-келген міндеттерін шешу мҥмкіндігін беретін
яMicrosoft Office барлық қосымшалары ҥшін ортақ қҧрал-сайман
болып табылады.
Visual Basic for Applications бағдарламалаудың объектті-бағдарлы
тілі болып табылатындықтан, осы қосалқы бөлімшеде Access-те
пайдаланылуы мҥмкін объектті модельдер сипатталған.
Access қосымшаларында негізгі жҧмыс— бҧл деректермен жҧмыс,
сондықтан біз кейбір деректерді басқару кітапханаларына сипаттама
береміз:
• DAO (Data Access Objects);
• ADO (ActiveX Data Objects);
• JRO (JET AND REPLICATION OBJECTS).
Visual
Basic
forApplications
тілінің келесі компоненттерін
қарастырайық:
• рəсімдер мен қызметтер;
• ауыспалылар, константалар жəне деректер тҥрі;
• ауыспалылар мен рəсімдердің əрекет ету саласы;
• басқарушы конструкциялар - тармақталуы жəне циклдер;
• циклдер мен рəсімдерден шығу;
• модульдер.
8.2.
Рәсімдер мен қызметтер
VBA-дағы бағдарламаның негізгі компоненттері Sub жəне EndSub
операторлары немесе Function жəне EndFunction операторлары
арасында жасалған бағдарламалық кодтың фрагменттері болып
табылатын, рəсімдер мен қызметтер болып табылады, мысалы:
Sub<Рəсімнің аты> (<аргумент 1>, <аргумент 2>, ...) <оператор 1>
<оператор 2>
EndSub
немесе
Function<Қызметтің аты> (<аргумент 1>, <аргумент 2>, ...)
<оператор 1>
<оператор 2>
<Қызметтің аты> = <қайтарылатынМəн>
EndFunction
Қызметтің рəсімнен ерекшелігі, оның атауы да ауыспалы болып
табылады жəне мəнді қызметті шақыру нҥктесіне қайтару ҥшін
пайдаланылады.
Жазылған рəсімді немесе қызметті орындау ҥшін оны шақыру
керек. Аргументтер тізімі бос болмайтын рəсімді тек басқа рəсімнен
немесе қызметтен шақыруға болады. Бҧл ретте агрументтердің іс-
жҥзіндегі мəндерінің тізімі бар атын VBA операторларының бірі
ретінде белгілеу керек. Қызметті жекелеген VBA операторы көмегімен
ғана емес, сондай-ақ агрументтердің іс-жҥзіндегі мəндерінің тізімі бар
атын тікелей формулаға немесе VBA негізіндегі бағдарламадағы
тіркеске орналастырып, мысалы, Access-тің есептелетін сҧраныс,
нысандар мен есептердің өрістегіндегі формулаға орналастыра отырып
шақыруға болады. Аргументтер тізімі бос рəсім (командалық макрос)
басқа рəсім немесе қызметтен емес, сондай-ақ жылдам шақыру
пернелерінің
комбинациясының
көмегімен,
ашылатын
мəзір
командалары немесе қҧрал-саймандар панелінің пернелері көмегімен
шақырылуы мҥмкін. Сондай-ақ осы рəсімді əртҥрлі оқиғаның
орындалуымен байланыстыруға болады (мысалы, нысанды немесе
есепті ашумен, нысандағы перне бойынша тінтуір шертпесімен,
нысандарды басқару элементтеріне əсерімен, атап айтқанда, ActiveX
басқару элементтеріне). Мҧндай рəсімдер оқиғаларды өңдеу рəсімдері
деп аталады. Аргументтердің берілуін талап ететін қызметтер немесе
рəсімдерді мҧндай тəсілмен шақыру мҥмкін емес.
Егер шақырылатын рəсімнің аты бірегей болса жəне шақыратын
рəсім орналасқан модульде орналасса, онда оны шақыру ҥшін атын
көрсету , содан кейін жақшаға алмай аргументтердің іс-жҥзіндегі
мəндер тізімін белгілеу жеткілікті. Рəсімді шақырудың басқа тəсілі Call
операторын пайдалануда. Алдымен Call операторы, содан кейін
рəсімнің аты, содан кейін параметрлер тізімі жҥреді, бҧл жағдайда
міндетті тҥрде жақшаға алу керек.
Қызметті рəсім сияқты шақыру болады, алайда жиі қызметті
шақырудың басқа, ерекше тəсілі пайдаланылады - жақшаға алынған,
тағайындау операторының оң жағындағы параметрлер тізімі бар аты
пайдаланылады.
Екі аргументті (константа жəне тіркесті) бере отырып, CrossRC
атты рəсімді шақыру ҥлгілері:
CrossRC 7, i + 2
немесе
Call CrossRC (7, i + 2)
Ал мында екі қызметті (Left жəне Mid) шақыру жəне олардан тіркес
ретінде қайтарылатын мəнді пайдалану ҥлгісі:
yStr = Left (у, 1) &Mid (у, 2, 1)
Рəсімге немесе қызметке ауыспалыларды берудің екі тҥрлі тəсіліне
рҧқсат етіледі: сілтеме бойынша жəне мəні бойынша. Егер ауыспалы
сілтеме бойынша берілсе, рəсімге немесе қызметке осы ауыспалының
жадында мекен-жай беріледі. Шақырылатын рəсім нақты параметрдің
мəнін өзгертуі мҥмкін. Егер нақты параметр мәні бойынша берілсе,
онда шақырылатын рəсім немесе қызмет осы параметр ретінде
пайдаланылатын ауыспалының өзін емес, нақты параметрдің мəнін
ғана алады. Нақты параметрдің алынған мəнінің барлық өзгерістері
(егер шақырылатын рəсіммен орындалса) нақты параметрдің
ауыспалысының мəніне əсер етпейді.
Параметрлерді рəсімге немесе қызметке беру тəсілі оның
аргументтерін
(формальды
параметрлерін)
сипаттау
кезінде
көрсетіледі. Аргументтің атына дейін жіберу тəсілін айқын
сипаттаушы болуы мҥмкін (ByRef сілтеме бойынша жібереді, aл ByVal
— мəні бойынша жібереді). Егер параметрді жіберу тəсілі айқын
көрсетілмесе, онда өздігінен сілтеме бойынша жіберу деп тҥсінуге
болады.
Мысалмен тҥсіндірейік. Мына екі рəсімнің сипаттамасы болсын —
Main жəне Examplel.
Sub Main ()
a = 10 b =
20 c = 30
Call Example1 (a, b, c,)
Call MsgBox (a)
Call MsgBox (b)
Call MsgBox (c)
End Sub
Sub Example1 (x, ByVal, ByRef) x
= x + 1 y = y + 1 z = z + 1 Call
MsgBox (x)
Call MsgBox (y)
Call MsgBox (z)
End Sub
Достарыңызбен бөлісу: |