§. Microsoft Word та ҳүжжетлер үстинде әмеллерди орынлаў 3-§. Текстлер үстинде әмеллерды иске асырыў 22


-§. MS Word программасында VBA дан пайдаланып мәселелер шешиў



Download 1,1 Mb.
bet14/17
Sana21.02.2022
Hajmi1,1 Mb.
#78978
TuriПрограмма
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
19.04.11 Проект струк

5-§. MS Word программасында VBA дан пайдаланып мәселелер шешиў


5. 1. Символларды алмастырыў ушын макрос жаратыў
Пайдаланыўшы қандай-да бир текстти фрагментин белгили дәрежеде латын шрифтында билместен көп терип қойған ўақытларда ўақтын тежеў ушын оны кириллица ҳәриплерине өзгеритиўде макрос жаратыўға туўра келеди ямаса керисинше жағдай ушында латынды кириллицаға өзгеритиўде керек болыўыда мүмкин. Бундай макрослар жәрдеминде ҳақыйқатында да ўақытты уттырмаўға ерисиледи. Демек төмендеги мысалда кириллицаны латынға ямаса керисинше өзгеритиў ушын макрос жаратыў қарап өтиледи. Макросты жаратыў ушын төмендеги әмеллер орнатылады.

  1. Сервис менюсынан Сервис → Макрос → Начать → запись-камандасы таңланады ҳәм төмендеги айна пайда болады.


2. Пайда болған айнадағы «Имя макроса» майданына макрос аты киритиледи мысалы: «Перевод» «Макрос доступен для» дизиминен «Всех документов (Normal. dot)» сайланады. Бунда макрос шаблонға жазылып барлық ашылып атырған документлерде ислей алады. Усы әмелди орынлағаннан кейин екинши бир диалог айнасы ашылады ол «Настройка клавиатуры».



3. Ашылған диалог айнасы макросты қосыў ушын [Ctrl+I] клавишлар комбинациясын орнатып Назначить кнопкасы басылады кейин Закрыть басылады ҳәм төмендеги панель ашылады. «Остановить Запис»



4. Пайда болған «Макрорекордер» панели басланады бос макрос пайда болады.
5. Сервис → макрос → макросы камандасы орынланады ҳәм төмендеги макрос диалог айнасы пайда болады.



6. Макрос диалог айнасындағы «Имя» дизиминен «Перевод» макросын таңлаймыз ҳәм «Изменить» кнопкасы басылады.
Visual Basic айнасы ашылады ҳәм ол айнасы NewMacros аты менен аталған болады.

7. Төмендеги келтирилген процедура кодын киритемиз.


Sub Перевод ( )
Dim InputString As String
'бул өзгериўши берилген ҳүжжеттеги белгиленген областтағы 'символларды сақлаў ушын ислетиледи
Dim OutputStrinng As String
'бул өзгериўши өзгертирилгеннен кейинги нәтийжени сақлаў ушын ' 'керек болады.
InputString = Selection.Range Text
'ҳүжжеттиң белгиленген областындағы символлары InputString 'өзгериўшисине жазылады
OutPutString=Transli(InputString)
'OutPutString өзгериўшисине белгиленген соңғы нәтийже жазылады
Selection.Range.Text= OutPutString 'бул әмел нәтийжесинде 'OutPutString өзгериўшисиндеги мәнис белгиленген тексттиң орнына 'жазылады
End Sub

Көринип турғандай бул программа кодында белгиленген текст Input String өзгериўшисине жазылады ҳәм ол қосымша программа функциясы Translit арқалы өзгертириледи. Пайда болған нәтийже усы функцияға меншикленеди ҳәм OutPutString өзгериўшисине жазылады.


8. Усы айнаға, модулға қосымша программа функция коды критиледи.
Редакторлаў айнасындағы усы модулға қосымша программа функция кодын киритемиз. Ол төмендегише
Public Function Translit(D As String)
Dim Amountsimbol As Integer
'Берилген қатардағы есапқа алыныўы болған символлар санын сақлаў 'ушын пайдаланатуғын өзгериўши.
Dim i As Integer
'сыртқы циклда пайдаланыў ушын өзгериўши
Dim j As Integer
' ишки циклда пайдаланыў ушын өзгериўши.
Dim Resultring As String
'символларды алмастырыўда нәтийжелерди жазыў ушын 'пайдаланатуғын өзгериўши төмендеги костанта жәрдеминде латын 'ҳәриплерин белгилеймиз.
Const LatString AsString = qwertyuiop[]asdfghgkl;zxcvbnm,. /QWERTYUIOP{}ASDFGHGKL:ZXCVBNM<>?”
'Кириллица ҳәриплеринен туратуғын қатарлық константа
Const KirString As String= “йцукенгшщзхъфывапролджэячсмитьбю. ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬ_БЮ ,”
'Берилген қатардағы символлар санын есаплаймыз.
AmountSymbol=Len(D)
'Ислетиў керек болған өзгериўшини тазалаймыз.
ResultString= “”
'Берилген символдан латын ҳәриплерден турыўын тексеремиз
If Asc(D) < 192 Then
'латын символларын кириллица символларына алмастырымыз. Буның 'ушын берилген қатардағы символларды таңлаўға цикл дүземиз
For i =1 To AmountSimbol
'Латын символларын таңлап алыў ушын LatString константасы ушын 'цикл дүземиз
For i =1 To 65 'Lanstring константасындағы символлар саны 65 ге 'тең.
'Берилген қатардағы символдың биреўлик тырнақша екенлигин 'тексеремиз
If Asc(Mid(D, i1l ))=145 Then
'Егер биреўлик тырнақша болса, онда ислетиў керек өзгериўшиге э 'ҳәриби символын қосады
RecultString=ResultString+ “Э”
Exit For
End If
'Берилген қатардағы символын екеўлик тырнақша екенлигин 'тексеремиз
If Asc(Mid(D, i,1))=147 Then
'Егер символ екеўлик тырнақша болса, онда ислетиў керек өзгериўшиге '“Э” үлкен ҳәрибин қосамыз.
RecultString= RecultString + ‘Э’
Ext For
End If
'Берилген қатардағы кейинги символды анықлаймыз ҳәм усы символға 'константадағы сәйкес болған символды табамыз.
If Mid(D, i,1)=Mid(KirString, g, l) Then
RecultString өзгериўшисине сәйкес кирил символын қосамыз яғный
RecultString= RecultString + Mid(KirStrung, g, l)
Ext For
End If
Next
Next
Else
'Егер берилген қатардың биринши символы кириллица символында болса
For I =l To AmountSymbol
For g=i To 66
If Asc(MID(D, i, l ))=221 Then
'Егер символ үлкен «Э» ҳәриби болса, онда RecultString өзгериўшисине екеўлик 'тырнақша қосамыз
ResultString = ResultString + ’’’’’’
Exit For
End If
If Asc(Mid(D, i, l ))=253 Then
'Егер символ киши «Э» ҳәрибине тең болса, онда ResultString 'өзгериўшисине биреўлик тырнақшаны қосамыз.
ResultString= ResultString + “” “” “”
Exit For
End If
'Берилген қатардағы кейинги символды анықлаймыз ҳәм оған сәйкес 'болған символды константадан табамыз
If (Mid(D, i l )=Mid (KirString, g, i) Then
ResultString = ResultString + Mid(LatString, g, l)
Exit For
End If
Next
Next
End If
'Нәтийжени беремиз
Translit = ResultString
End Function
Тексериў ушын макросты орнатамыз. Егерде текстти кириллица символларын киритсек, онда ол латын [Ctrl+I] клавишлары жәрдеминде орынланады. Егер текстти кириллица ҳәриплериде киритсек, онда макрос арқалы латынша, ал текстти латын ҳәриплеринде киритсек онда макрос арқалы сәйкес кириллица ҳәриплери қойылады.
Бундай макрослар билместен кирилда жазыў керек болған текстти латында ямаса керисинше жағдайлар ушырасқанда пайдаланылады.



Download 1,1 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish