Windows.  Viruslar.  Noutbuklar.  Internet.  Idora.  Utilitalar.  Haydovchilar

Konvertorlarning ishlashi makro buyruqlar (makroslar) asosida amalga oshiriladi. Odatda, makrolar muntazam harakatlarni bajarish uchun ishlatiladi. Biz ulardan Federal Soliq xizmati uchun fayllarni yaratish uchun foydalanamiz.

Odatiy bo'lib, makroslar Excel va LibreOffice Calc-da o'chirib qo'yilgan. Ularni o'zingizga bir marta yoqishingiz kerak. Buni qilish juda oson.

Makroslarni qanday yoqish mumkin Microsoft Excel 2007, 2010

Tugmani bosing Fayl yuqori chap burchakda va tanlang Variantlar ochilgan menyuda:

Ko'rsatilgan dialog oynasida tanlang Ishonch markazi Va Ishonch markazi sozlamalari.

Oynada tanlang - Makro opsiyalari va keyin katakchani belgilang Barcha makroslarni yoqing

KELISHDIKMI

Shundan so'ng siz ham yopishingiz va ochishingiz kerak Excel fayli o'zgarishlar kuchga kirishi uchun. Kelajakda makroslar Excel 2007 da avtomatik ravishda ishga tushadi.

LibreOffice Calc-da makroslarni qanday yoqish mumkin

O'rnatishdan so'ng dasturni oching Kalk. Menyuda Xizmat tanlang Variantlar.

Element tanlang Xavfsizlik va tugmani bosing Xavfsiz makroslar

Darajani tanlash O'rtacha(bu holda, makrosni ishga tushirganda, tugmani qo'shimcha ravishda bosish orqali uning ishlashini tasdiqlashingiz kerak) yoki Qisqa.

Tugmasini bosib tanlovingizni tasdiqlang KELISHDIKMI barcha ochiq dialog oynalarida.

Loyiha yangiliklari:

Endi siz eksportni ro'yxatga olish kitobini eksport qilish konvertori yordamida tasdiqlashingiz mumkin. Barcha mahsulotlarimiz singari, ushbu konvertor QQS deklaratsiyasini tayyorlashda vaqtingizdan unumli foydalanishga yordam beradi.

2016 yilning 1-choragi uchun QQS deklaratsiyasini to'ldiring. Konvertorlarning joriy versiyalari yordam beradi. Biz deklaratsiya kampaniyasi davomida barcha mijozlarimizni qo'llab-quvvatlashda davom etamiz.

2015 yilning 4-choragi uchun deklaratsiya kampaniyasi. - konvertorlarning barcha versiyalari hali ham dolzarb va hisobot topshirish uchun ishlatilishi mumkin. Konvertorlarning so'nggi versiyalari foydalanish uchun eng qulaydir.

19-iyul kuni soliq to‘lovchi yuridik shaxsga to‘g‘ridan-to‘g‘ri (deklaratsiya orqali emas) yuklash uchun oldi-sotdi kitoblarini yaratish mumkin bo‘ldi.

31-may kuni QQS deklaratsiyasini ishlab chiqaruvchi konvertorlar yangilandi. O'zgarishlar haqida o'qishingiz mumkin.

1-chorak uchun QQS deklaratsiyasini kompaniya uchun oldik elektron pochta soliq to'lovchilardan 300 dan ortiq "Rahmat" :) !

2015-yil 16-aprelda hosting-provayder serverlarida nosozlik yuz berdi, bu esa saytning beqaror ishlashiga sabab bo‘ldi. Endi muammolar hal qilindi.

2015-yil 15-aprelda Nazorat qilinadigan operatsiyalar to‘g‘risida bildirishnoma konvertori mavjud bo‘ldi.

QQS deklaratsiyasini o'zgartiruvchilar

  • UY

Ba'zan siz matn bilan ishlashingiz yoki matnni qandaydir murakkab usulda qayta ishlashingiz kerak va interfeys tomonidan taqdim etilgan odatiy vositalar buning uchun etarli emas. Bundan tashqari, ba'zan juda ko'p vaqt talab qiladigan bir xil muntazam harakatlar ketma-ketligini bajarish kerak bo'lishi mumkin, ammo men bu harakatlar ketma-ketligini bitta tugmachani bosish bilan qisqartirishni xohlayman. Writer maxsus makroslarni yaratishga imkon beradi, ular asosan dasturlash tilida yozilgan matnni qayta ishlash protseduralari, bizning holatlarimizda dasturlash tili BASIC hisoblanadi; Shu bilan birga, dasturlash tillariga xos bo'lgan barcha standart operatorlarning xilma-xilligi yuqori daraja, ob'ektlarga kirish mumkin matn muharriri Yozuvchi, ochiq hujjatlar, hujjatni ochish funktsiyalari, barcha ob'ektlar ushbu hujjatdan shu jumladan rasmlar, paragraflar, altbilgilar, ajratilgan matn, ro'yxatlar, so'zlar, harflar, shriftlar va boshqalar.

2.1. Ob'ektlar va sinflar.

Ob'ekt nima? Haqiqiy dunyo nuqtai nazaridan ob'ekt - bu haqiqiy dunyoda mavjud bo'lgan va xususiyatlarga va xatti-harakatlarga ega bo'lgan moddiy narsadir, ko'pincha ob'ektlar ba'zi umumiy xususiyatlarga ega, buning natijasida biz har bir ob'ektni ob'ektlarning ayrim sinfiga kiritamiz. Masalan - avtomobil, avtomobillarning turli xil aniq ilovalari va ob'ektlari mavjud, ammo umumiy toifa - bu to'rt g'ildirakli, haydashga qodir va haydovchi tomonidan boshqariladigan avtomobil. Xuddi shu narsani matn yoki hujjat haqida ham aytish mumkin, hujjat matnli ob'ektni o'z ichiga olgan ob'ekt, matn ob'ekti esa so'z ob'ektlari, paragraflar, harflarni o'z ichiga oladi, matn tahrirlanadi, o'zgartiriladi, ko'rsatiladi, hujjat yaratiladi va saqlanadi. Bu amallarning barchasini bu obyektlar bilan muharrir funksiyalari yordamida bajaramiz, lekin bu funksiyalarni algoritmik til yordamida chaqirishimiz mumkin.

Agar siz allaqachon dasturlash tillari va yozma dasturlar bilan ishlagan bo'lsangiz, bilasizki, har qanday dasturlash tilida siz ko'rsatmalar yozishingiz mumkin bo'lgan operatorlar yoki ko'rsatmalar to'plami yoki protsessor tushunadigan va bajarishi mumkin bo'lgan dastur mavjud. Deyarli har qanday murakkablikdagi algoritmni yozishingiz mumkin bo'lgan standart operatorlar to'plami mavjud - bu tarmoqlanish, tsikl, operatorlarni bajarishning chiziqli ketma-ketligi, arifmetik operatsiyalar va o'zgaruvchilarga kirish va ularga ba'zi qiymatlarni yozish qobiliyati. yoki mantiqiy yoki arifmetik ifodalarning natijalari. Odatda yuqori darajali tillarda ular mashina tillariga xos bo'lgan xotira bilan murakkab ishlashdan qochishga harakat qilishadi, bu esa ba'zi o'zgaruvchan belgilar ketma-ketligini belgilashga imkon beradi; Taxminan aytganda, iboralarda ushbu belgilar ketma-ketligidan foydalanib, siz ushbu o'zgaruvchida bo'lgan narsalar bilan qutidagi kabi ishlaysiz. Topshiriq operatsiyasini shunday tasvirlash mumkin: St1 nomi bilan stakanda biz Cr1 krujkasidan sut quyamiz va aytamizki, menga Cr1 dan St1 ga sut quying. Shunday qilib, sizga Cr1 tarkibidagi narsalar quyiladi. Xuddi shu narsa o'zgaruvchiga ham tegishli. Aytaylik, Val1 = 20; Val2 = 30; Val3 = Val1+Val2; u holda Val3 qiymati 50 ni o'z ichiga oladi. Siz o'zgaruvchida hamma narsani emas, faqat ma'lum turdagi ma'lumotlarni o'z ichiga olishi mumkinligini bilasiz (garchi dasturni bajarish jarayonida o'zgaruvchining turini aniqlash mumkin bo'lsa-da, ma'lumotlar turining maxsus varianti mavjud). Axir, biz nomlarni (satrlarni), raqamlarni va ob'ektlarni saqlashimiz mumkin. Shuning uchun har bir o'zgaruvchi ma'lumotlar turi yoki domen yoki u qabul qilishi mumkin bo'lgan qiymatlarni aniqlash sohasi bilan bog'liq. Odatda dasturlash tillarida bular butun son turlari, real, satr, belgilar, mantiqiy, sanab o'tilgan, to'plamlar, kompleks raqamlar, yozuv turlari yoki tuzilmalardir. Xo'sh, o'zgaruvchan ob'ekt nima? murakkab tuzilish boshqa narsalar qatorida ushbu ma'lumotlar va ob'ekt bilan ishlash usullarini o'z ichiga olishi mumkin bo'lgan ma'lumotlar, shuningdek, ma'lumotlarni himoya qilish va unga kirishni cheklash yoki ruxsat berish.

Ob'ekt o'zgaruvchisi - bu ob'ektda bajariladigan boshqa ob'ektlar, xususiyatlar va harakatlarni o'z ichiga olgan o'zgaruvchi - bu qandaydir sinfning o'ziga xos amalga oshirilishi (klass - bir xil xususiyatlarga ega bo'lgan ob'ektlarning ma'lum bir to'plamining tavsifi); Odatda, murakkab ma'lumotlar turlarining (masalan, sinflar) xususiyatlari va funktsiyalariga kirish ob'ekt o'zgaruvchisi nomini, so'ngra ushbu ob'ektning funksiyasi va yoki xususiyat nomini yozish orqali amalga oshiriladi.

2.2. Basic-dagi o'zgaruvchilar va ob'ektlar

O'zgaruvchini e'lon qilish uchun ko'rsating kalit so'z xira va keyin vergul bilan ajratilgan o'zgaruvchilar ro'yxati, as so'zi va o'zgaruvchining turi.

Dim a,b integer – butun son tipidagi o‘zgaruvchini e’lon qilish. Dim s as string – satr tipidagi o‘zgaruvchini e’lon qilish.

Dim mass() butun son sifatida – butun son tipidagi dinamik bir o‘lchovli massivni e’lon qilish. Redim massasi (100) - massiv uzunligini o'zgartirish va uni 100 ga tenglashtirish.

com.sun.star.frame.Desktop sifatida xira stol - o'zgaruvchan ish stoli turi UNO birlashgan tarmoq modeli, bu o'zgaruvchi Desktop tipidagi ob'ektlarga murojaat qilishi mumkin.

IN Asosiy til ob'ektlarga havola bo'lgan o'zgaruvchilarga kirishingiz mumkin, bular oyna ekranida ko'rsatiladigan matn ob'ektlari, paragraflar, jadvallar bo'lishi mumkin, ular ushbu ob'ektlar bilan ishlash uchun xususiyatlar va usullar to'plamiga ega. Ob'ekt modeli har qanday bo'lishi mumkin, uni amalga oshirish, masalan, paketda Microsoft Office o'zining ob'ekt modeli, LibreOffice yoki OpenOffice paketining o'ziga xosligi bor, shuning uchun bu turli paketlardagi ob'ektlar va ushbu ob'ektlar bilan o'zaro ta'sir qilish usullari boshqacha.

2.3. Asosiy operatorlar

Loop operatori uchun.

Index=n1 dan n2 gacha Rem sikl tanasi uchun

Indeks o'zgaruvchisi n1 dan n2 gacha bo'lgan qiymatlar bo'ylab s (s ga o'sish) bilan ishlaydi. Ushbu holatda s butun son tipidagi o'zgaruvchi yoki doimiy bo'lishi mumkin, kvadrat qavslar konstruktsiyaning ixtiyoriy ekanligini ko'rsatadi, agar u ko'rsatilmagan bo'lsa, u holda qadam 1 ga teng.

Masalan, val =0

Xyz uchun = 4 dan 50 gacha 4-bosqich val=val+xyz

Algoritm 4 dan 50 gacha bo'lgan qiymatlar yig'indisini 4 ga oshib, ya'ni 4, 8, 12, 16 ... yig'indisini hisoblab chiqadi.

val o'zgaruvchisida 48 gacha. val1 =0

Aval uchun = 1 dan 50 gacha val1=val1+aval keyingi aval

Bunday holda, 1 dan 50 gacha bo'lgan butun sonlar yig'indisi hisoblanadi.

Operator while tsikli, shart bajarilguncha bajaring. Davra ichidagi gaplar shart bajarilgunga qadar takrorlanadi.

Vaholanki<условие>Wend operatorlari

Misol: while i

i o‘zgaruvchisi N dan kichik bo‘lganda sikl bajariladi. Shartli bayonot Agar,

agar<условие>keyin

<последовательность операторов если условие выполняется>agar tugaydi

Misol: agar I 100 dan kichik bo'lsa (agar shart bajarilsa), I ni 1 ga oshiring, aks holda 1 ga kamaytiring.

Agar men<100 then i=i+1

Aks holda i=i-1 oxiri agar

2.4. Jarayonlar va funktsiyalar.

Funksiyalar va protseduralar - bu asosiy dastur yoki kichik dasturda chaqirilishi mumkin bo'lgan alohida bloklar bo'lib, odatda dasturda uning nomi va unga berilgan parametrlar funksiya operatorlari bajarilgandan so'ng, boshqaruv qaytariladi; uni chaqirgan dastur yoki pastki dastur va funksiya yoki protseduradan keyingi operatorlarning bajarilishi boshlanadi. Shubhasiz, protseduralar va funktsiyalarning maqsadi ma'lum bir mantiqiy tugallangan harakatni bajaradigan tez-tez takrorlanadigan operatsiyalar uchun har safar bir xil kodni yozishdan qochishdir. Bundan tashqari, funksiyalar va protseduralar ichida o'zingizning mahalliy o'zgaruvchilaringizdan foydalanish mumkin, ular boshqa protseduralar va funktsiyalardagi va asosiy dasturdagi o'zgaruvchilar bilan bir xil nomga ega bo'lishi mumkin. Shu bilan birga, biz mahalliy funktsiya o'zgaruvchilarini protseduradan tashqaridan o'zgartira olmaymiz. Protseduralar va funktsiyalardan odatiy foydalanish shundan iboratki, biz funktsiyaga ba'zi qiymatlarni o'tkazamiz, ular asosida bu funktsiya bir qator harakatlarni bajaradi va qandaydir natijalarni hisoblaydi. Protseduralar va funktsiyalar o'rtasidagi asosiy farq shundaki, funktsiya nomi qaytariladigan ma'lumotlarning bir turi bilan bog'liq bo'lib, funktsiyani ifodalarda, masalan, arifmetik yoki mantiqiy, shartli bayonotlarda va tsikllarda ishlatish mumkin; Jarayon har qanday ifodadan tashqarida chaqiriladi.

Funktsiya tashqi dasturdan funktsiyaga haqiqiy parametr sifatida berilgan ikkita raqamning yig'indisini qaytaradi

Funktsiya summasi (a,b butun son sifatida) Sum=a+b butun son sifatida

Dasturda summa funksiyasidan foydalanish. Xni butun son sifatida qisqartiring

x = 2 x=x+sum(x,4)*2

Ikkita raqamni qo'shish imkonini beruvchi protseduraga misol, protsedurani chaqirganda qiymat c formatida qaytariladi, u doimiy bo'lmasligi kerak, lekin butun sonli o'zgaruvchi bo'lishi kerak;

Qoʻshimcha yigʻindi (a,b,c butun son sifatida)

Dim c butun son sifatida Chaqiruv summasi(2,2,c)

2.5. LibreOffice-da makro yaratish

LibreOffice-da makros yaratish uchun xizmat+makroslar+makroslarni boshqarish+LibreOffice Basic (Asboblar+Makrolar+Makrolarni tartibga solish)-ni tanlang. Bu quyidagi rasmda ko'rsatilgan oynani ko'rsatadi (19-rasm). Makro hujjatning o'zida saqlanishi uchun siz hujjatingizni tanlashingiz, "standart" standart modullar to'plamini tanlashingiz va keyin "yaratish" tugmasini bosishingiz kerak, keyin modul nomini kiritishingiz kerak. Modulni yaratgandan so'ng uni tanlashingiz mumkin, o'ng tarafdagi oynada Asosiy makrosni tanlang va Edit tugmasini bosing. Yoki modulni (Module1) yaratgandan so'ng, Makro nomi maydoniga yangi makros nomini yozing va yaratish tugmasini bosing (20-rasm).

19-rasm - Makroslarni yaratish va tahrirlash oynasi

20-rasm - MyMainMacros yangi makrosini yaratish misoli

Makrosni yaratish va tahrirlash natijasida BASIC muharriri oynasi paydo bo'ladi, rasmda tabiiy ravishda ikkita makros mavjud, ular ko'proq bo'lishi mumkin va ular kiritish parametrlariga ega bo'lishi mumkin;

21-rasm - Asosiy muharrir va ikkita makros

LibreOffice-da, yuqorida aytib o'tilganidek, ob'ekt modeli Microsoft Office-dan biroz farq qiladi, LibreOffice Basic UNO birlashtirilgan tarmoq ob'ekti deb ataladigan modeldan foydalanadi. Quyida har bir paragrafning shrift hajmini oshiradigan openoffice makrosiga misol keltirilgan.

Hujjatni ob'ekt sifatida xiralashtirish

Dim Enum Ob'ekt sifatida

Xira matn elementi ob'ekt sifatida

" StarDesktop - makrosdan foydalanish mumkin bo'lgan asosiy ob'ekt

" ro'yxatga olish ob'ektini yaratish

Enum = Doc.Text.createEnumeration

" Enum.hasMoreElements TextElement = Enum.nextElement esa barcha matn elementlari bo'ylab aylanish.

" joriy blokning jadval ekanligini tekshirish

Agar TextElement.supportsService("com.sun.star.text.TextTable") bo'lsa, u holda

MsgBox "Joriy blokda jadval mavjud"

Taklif olindi. :)

Salom, xakerlar!
Bugun men sizga makroslardan foydalanish haqida gapirib bermoqchiman LibreOffice.

Muqaddima
Har kuni uyda va ishda biz ba'zi vazifalarni bajarish uchun ofis ilovalaridan foydalanamiz. Ko'pincha siz bitta ishda ixtisoslashganingiz va bir xil vazifalarni bajarishingiz mumkin: bir xil matnni joylashtirish, uni formatlash, ko'p sonli tezkor tugmalardan foydalanish. Bularning barchasida siz o'zingizning ba'zi ishlaringizni avtomatlashtirish orqali qimmatli ish vaqtingizni tejashingiz mumkin.
Keyinchalik maqolada men sizga makroslardan foydalanish haqida gapirib beraman LibreOffice.

Makroslar nima va ular nima uchun?

Ibratli- bu oddiy menyu yordamida qayd etilishi mumkin bo'lgan muayyan harakatlar ketma-ketligi. Makrosni yozishni tanlaganingizda, bajargan amallaringiz avtomatik ravishda skript kodi sifatida saqlanadi. Va kelajakdagi ishingizda u mustaqil ravishda amalga oshiriladi, dasturdagi harakatlaringizni aynan takrorlaydi. Makro oddiy yoki juda murakkab bo'lishi mumkin - barchasi qanday natijaga erishishingiz kerakligiga bog'liq. Makroslarning asosiy mezonlari kuchli va ayni paytda foydalanish uchun qulay bo'lishidir. LibreOffice makroslari aynan shu talablarga javob beradi. Keling, buni amalda sinab ko'raylik.

Paketdan foydalanish uchun LibreOffice Sizda oldindan o'rnatilgan Linux, Windows yoki MacOS operatsion tizimi, shuningdek LibreOffice paketi o'rnatilgan bo'lishi kerak (masalan, mavzuda tasvirlanganidek, uni ppa repozitoriylaridan o'rnatishingiz mumkin)

Makro boshqaruv

Makrosimizni yaratishni boshlashdan oldin, biz makro boshqaruv vositasi bilan tanishishimiz kerak. Keling, yo'l bo'ylab harakat qilaylik Asboblar - Makroslar - Makroslarni tartibga solish - LibreOffice asosiy makroslari(Asboblar - Makroslar - Makro boshqaruv - LibreOffice Basic Makroslar):

Oynaning chap ustunida biz sukut bo'yicha o'rnatilgan makroslar ro'yxatini ko'rishimiz mumkin. Ulardan birini bosish orqali siz uni tahrirlashingiz yoki o'chirishingiz mumkin.
Oynaning asosiy vazifasi- kerakli makrosni tanlang, asboblar panelida unga tugma belgilang yoki voqea bilan bog'lang. Makrosga tugmani belgilash eng ko'p ishlatiladiganlarini tezda bajarishga imkon beradi.

Shuni ta'kidlashni istardimki, avtomatik rejimda (yozuv) makros yaratish kamida makroslarni yozish uchun tilni ozgina bilishni talab qiladi, chunki ba'zida biz uni tahrirlashimiz kerak bo'ladi. Makros qanday ko'rinishini ko'rish uchun bizga kerak bo'lgan makrosni tanlang va ustiga bosing Tahrirlash(Tahrirlash). Quyida makrosning manba kodida qanday ko'rinishiga misol keltirilgan:

Keling, oddiy misolni olaylik. Hujjatga ba'zi bir matn allaqachon kiritilgan va biz unga sarlavha qo'yishimiz kerak, chunki bizning matnimiz biznes yozishmalarida qo'llaniladi.
Bizning kelajakdagi makrosimiz quyidagilarga ega bo'lishi kerak:
- matnni sahifaning yuqori markaziga joylashtiring;
- sarlavha sifatida foydalaniladigan matnni kiriting.
Makrosni yaratganimizdan so'ng, biz unga asboblar panelidagi tugmachani tayinlaymiz. Shundan so'ng, hujjatga sarlavha kiritish uchun bir marta bosish kifoya qiladi.
Keling, qadamlar ketma-ketligiga amal qilaylik.

1-qadam.
Matnli hujjatni oching. Keling, davom etaylik Asboblar - Makroslar - Makrosni yozib olish. Bitta "End Macro" tugmasi bilan kichik "Record Macro" oynasi paydo bo'ladi ( Yozishni to‘xtating):

2-qadam.
Keling, matn sarlavhasini yarataylik. Tugmani bosing "Markazni tekislash"("Markaz"), shuning uchun bizning kelajakdagi matnimiz hujjatning markazida joylashgan. Endi biz sarlavha matnining o'zini yozamiz. Buning uchun turli formatlarni o'rnatmasligingiz kerak (shrift yoki qalin/kursiv/tagi chizilgan), chunki makros bunday harakatlarni eslab qolmaydi.

3-qadam.
Sarlavha tugallangandan so'ng, "Makroni yozib olish" oynasidagi "Makroni tugatish" tugmasini bosing. Makro Organizer oynasi darhol paydo bo'ladi. Yangi makrosga nom bering (masalan, PostHead). Endi siz uni o'zingiz xohlagan joyga saqlashingiz mumkin (masalan, "papka" Mening makro").

4-qadam.
Endi biz faqat makro uchun asboblar panelidagi tugmani qo'shishimiz kerak Post boshi. Bu jarayon birinchi qarashda ko'rinadigan darajada oddiy emas.
Ochilish LibreOffice asosiy makroslari, tugmasini bosing " Tayinlash" ("Tayinlash") Quyidagi oyna paydo bo'ladi Moslashtiring, unda biz tabga o'tishimiz kerak Asboblar paneli va "Asboblar paneli" maydoni "Standart" ga o'rnatilganligiga ishonch hosil qiling ( Standart) .

Ushbu oynada "Qo'shish" tugmasini bosing ( Qo'shish). Boshqa oyna paydo bo'ladi - "Buyruqlar qo'shish" ( Buyruqlar qo'shing).
Chap oynaning ro'yxatida "Kategoriyalar" ( Turkum) toping " LibreOffice makrolari" (ro'yxatning eng quyi qismida). Uni oching va bizning makrosimizga o'ting. Topilgandan so'ng, oxirgi va eng oddiy qadamni bajarish qoladi. Antetli qog'oz makrosini sichqoncha bilan asboblar panelidagi biz kerakli joyga torting. ko'rish yoqadi.
Mana, biz vazifani bajardik.
Endi biz qilishimiz kerak bo'lgan yagona narsa tugmani ishlatishdir Post boshi, biz panelga qo'shdik. Masalan, biz ochamiz yangi hujjat va tugmani bosing Post boshi. Bizning makrosimiz aynan biz "tayinlagan" matn bilan sarlavha yaratadi va uni hujjatning yuqori qismiga aynan markazga qo'yadi.
Bu haqiqatan ham qulaymi?

Pastki chiziq
Albatta, mening misolimda biz juda oddiy makro yaratdik. Ammo yuqorida tavsiflangan vositalar yordamida siz juda murakkab makroslarni yaratishingiz mumkin. Va nafaqat ichida Yozuvchi, balki paketning barcha boshqa ilovalarida ham LibreOffice(Elektron jadval, taqdimotlar va boshqalar). Endi siz makroslarni qanday yaratishni bilganingizdan so'ng, ishingizni osonlashtirish uchun o'zingizni osongina yaratishingiz mumkin.
Ushbu maqolaning maqsadi so'l yozish vositasidan foydalanish asoslarini o'rganishdir.

Diqqat! Makros LibreOffice 4.4.3.2 va Windows XP da yozilgan.

LibreOffice Calc-ni ishga tushiring. Asboblar -> Makroslar -> Makroslarni boshqarish -> LibreOffice Basic menyu bandini tanlang


Makroslar oynasida Bepul ofis BASIC "Makro nomi" maydoniga "Asosiy" deb yozing. "Makrodan" maydonida "Mening makroslarim" - "Standart" ni tanlang va "Yaratish" tugmasini bosing. 1-rasmga qarang.

1-rasm. LibreOffice Basic makroslar oynasi


Yangi modul oynasida "Module1" nomini o'rnating va "OK" tugmasini bosing. 2-rasmga qarang.

Rasm 2. Yangi modul yaratish

Shakl 3. LibreOffice asosiy makro muharriri

Biz Module1 modulini Main asosiy protsedurasi bilan yaratdik. Muloqot oynasini yaratish uchun LibreOffice Basic makros muharririda Asboblar -> Makroslar -> Muloqot oynalarini boshqarish... menyu bandini tanlang.

"Muloqot oynalari" yorlig'ini tanlang. "Muloqot" bo'limida "Mening dialoglarim" -> "Standart" ni tanlang va "Yaratish" tugmasini bosing. 4-rasmga qarang.

Rasm 4. Makros muloqot oynasini yaratish

Yangi dialog oynasida "Dialog1" nomini o'rnating va "OK" tugmasini bosing. 5-rasmga qarang. Keyin LibreOffice Basic Makro boshqaruvi oynasining “Yopish” tugmasi.

Rasm 5. Yangi dialogni yaratish

Keyin, LibreOffice Basic makros muharriri oynasida “Dialog1” nomli yangi yaratilgan dialog oynamizga ikki marta bosing, 6-rasmdagi 1-raqamga qarang. Shundan so‘ng u ochiladi. vizual muharriri dialog, 6-rasmdagi 2-raqamga qarang.

6-rasm. LibreOffice Basic dialog muharriri

Endi dialog oynamizga yorliq deb nomlangan vizual elementni va vizual element tugmachasini qo'shing. Vizual tasvirlarni Vizuallar panelidan tortib olish mumkin, 6-rasmdagi 3-raqamga qarang.

Agar siz Label vizual elementini tanlasangiz, ushbu element uchun xususiyatlar to'plami ochiladi. Ushbu xususiyatlar orqali siz elementni sozlashingiz mumkin. Yorliq elementiga lblNow nomini belgilaymiz va matnni bo'sh qoldiring. Tugma elementi uchun nom OKButton bo'ladi va matn OK ga o'rnatiladi. 7-rasmning 1,2,3 raqamlariga qarang.

Rasm 7. Tahrirlovchida vizual elementlarni qo'shish LibreOffice dialoglari Asosiy

Yuqorida yozganimdek, Main asosiy protsedurali Module1 moduli yaratilgan (8-rasmga qarang), lekin u hali to'ldirilmagan.

8-rasm. Qo'shish manba kodi makro


Asosiy protsedura asosiy hisoblanadi, unda biz Dialog1 nomli dialog oynasini yuklaymiz, bu quyidagi kod qatorlari:

DialogLibraries.LoadLibrary("Standart")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)

Biz joriy sana va vaqt bilan qator yaratamiz, bu quyidagi kod qatorlari:

Dim strNow String sifatida
strNow = Format (Hozir(), "yyyy-aa-dd")
strNow = strNow + Format(Vaqt(), "ss:dd")

Biz lblNow deb nomlangan vizual elementga sana va vaqt bilan qatorni tayinlaymiz, bu quyidagi kod qatorlari:

Dim clblNow Ob'ekt sifatida
clblNow = Dlg.getControl("lblNow")
clblNow.Text = strNow

Main protsedurasidagi oxirgi kod qatori bilan Dialog1 nomli dialog oynasini ishga tushiramiz:

Dlg.Execute()

Yana bir protsedura bor, uning nomi OKButton_execute, bu hodisa protsedurasi, u OKButton nomli tugma bosilganda bajariladi va Dialog1 nomli dialog oynasini yopadi, bu quyidagi kod qatori:

Dlg.endExecute()

Endi OKButton deb nomlangan tugmachaga OKButton_execute nomli protsedurani "Sichqoncha tugmachasini chiqarish" hodisasi sifatida tayinlang. Buning uchun Dialog1 dialog oynasining vizual muharririni oching, 9-rasmdagi 1-raqamga qarang. OKBtuton nomli tugmani tanlang va "Voqealar" yorlig'iga o'ting, 9-rasmdagi 2-raqamga qarang. "Sichqoncha tugmachasi bo'shatilgan" hodisasida, uch nuqtali tugmani bosish orqali OKButton_execute nomli protsedurani belgilang, 9-rasmdagi 3-raqamga qarang.

Rasm 9. OK tugmasiga hodisani belgilash

Biz makrosni ishga tushirish uchun hamma narsani qildik. Birinchidan, bizning makromiz nima qilishini ko'rib chiqaylik. 10-rasmning 2 raqami ostida joriy sana va vaqt ko'rsatilgan holda yaratilgan dialog oynasini ko'rishingiz mumkin. Agar siz OK tugmasini bossangiz, dialog oynasi yopiladi.

1. LibreOffice Basic makro muharriridan makrosni ishga tushirish LibreOffice Basic makro muharririda bizning kodimizni oching va uni F5 tugmachasini bosish yoki makrosni bajarish tugmasini bosish orqali bajaring, 10-rasmdagi 1-raqamga qarang.

2. "Makroni tanlash" dialog oynasidan makrosni ishga tushirish, 11-rasmdagi 1-raqamga qarang. Muloqot oynasida biz makromizni tanlashimiz va "Ishga tushirish" tugmasini bosishimiz kerak, 11-rasmdagi 2-raqamga qarang.

11-rasm. “Makroni tanlash” muloqot oynasidan makrosni ishga tushirish

3. LibreOffice Calc-dagi menyular va pastki menyulardan makrosni ishga tushirish yoki LibreOffice Writer, 12-rasmdagi 0 raqamiga qarang. Menyu va pastki menyu yaratish uchun “Xizmat” menyu bandini va “Sozlamalar” pastki menyusini tanlang, 12-rasmdagi 1 va 2 raqamlariga qarang. “Sozlamalar” muloqot oynasidagi “Menyu” ” yorlig‘ida “Yaratish...” tugmasini bosing, menyumiz nomini kiriting (masalan, “Makrolar”), 12-rasmdagi 3-raqamga qarang. “Makrolar” menyumizning pastki menyusini yaratish uchun ni bosing. "Qo'shish ..." tugmasi (12-rasmdagi 4-raqamga qarang.).

12-rasm. LibreOffice Calc yoki LibreOffice Writer-da menyular va pastki menyulardan makrosni ishga tushirish

Keyin "Buyruqlarni qo'shish" dialog oynasida bizning pastki menyuni tanlaganingizda bajariladigan buyruqni tanlang (13-rasmdagi 1 va 2 raqamlarga qarang), ya'ni. biz Main deb nomlangan makrosimizni tanlaymiz.

13-rasm. Kichik menyuga buyruq qo'shish

"Menyu" yorlig'ining "Sozlamalar" muloqot oynasidagi "O'zgartirish" tugmachasining "Nomini o'zgartirish..." menyu bandini tanlab, pastki menyumiz nomini o'zgartiring (14-rasmdagi 1,2,3,4 raqamlarga qarang). "Sana bilan makro oyna" pastki menyusiga nom bering.

14-rasm. Pastki menyularni qayta nomlash

4. Klaviatura yorliqlarini bosish orqali LibreOffice Calc yoki LibreOffice Writer-da makrosni ishga tushiring. Buni amalga oshirish uchun "Sozlamalar" muloqot oynasini oching va "Klaviatura" yorlig'ini tanlang (15-rasmdagi 1-raqamga qarang). Keyin biz "Asosiy" deb nomlangan makromiz bo'lgan buyruqni tanlaymiz (15-rasmdagi 2-raqamga qarang). Keyin biz bepul tugmalar birikmasini tanlaymiz va uni jamoamizga tayinlaymiz, ya'ni. Makro nomli makro (15-rasmdagi 3,4,5 raqamlariga qarang).

15-rasm. Makrosni ishga tushirish uchun klaviatura yorliqlarini belgilash

5. Asboblar panelidagi tugmani bosish orqali LibreOffice Calc yoki LibreOffice Writer dasturida makrosni ishga tushiring (16-rasmdagi 4-raqamga qarang). Asboblar panelida tugma yaratish uchun “Asboblar” menyu bandini va “Moslashtirmoq” pastki menyusini tanlang, 16-rasmdagi 1-raqamga qarang. ." tugmasini bosing, asboblar paneli nomini kiriting (masalan, "Makro panel"), 16-rasmdagi 2-raqamga qarang. Asboblar panelida tugma yaratish uchun "Qo'shish..." tugmasini bosing (rasmdagi 3-raqamga qarang). 16).

16-rasm. Asboblar panelidan makrosni ishga tushirish

Keyin "Buyruqlarni qo'shish" dialog oynasida asboblar panelidagi tugmachamizni bosganingizda bajariladigan buyruqni tanlang (13-rasmdagi 1 va 2 raqamlarga qarang), ya'ni. Biz Main deb nomlangan makrosimizni tanlaymiz.

"Asboblar paneli" yorlig'ining "Sozlamalar" muloqot oynasidagi "O'zgartirish" tugmachasining "Nomini o'zgartirish..." menyu bandini tanlab, asboblar paneli tugmachamiz nomini o'zgartiring (17-rasmdagi 1,2,3,4 raqamlarga qarang). "Sana bilan makro oyna" tugmachasini nomlang.

17-rasm. Asboblar paneli tugmasi nomini o'zgartirish

Men Linuxdan taxminan 10 yildan beri foydalanaman. Taxminan 5 yil oldin men OpenOffice paketidan foydalanishni boshladim va 3 yil oldin - LibreOffice. Ajablanarlisi va hatto sharmandaligim shundaki, menda Calc uchun yozilgan makrolar yo'q. Ammo Excel uchun bu vaqt ichida oddiy shakllar va formulalardan tortib, ma'lumotni tayyorlashni avtomatlashtiradigan korxonalar uchun kuchli qo'shimchalargacha etarli miqdorda to'plangan. Bugun men o'zimga juda ko'p vaqt sarflaydigan paketni va uning imkoniyatlarini asta-sekin o'rganishni boshlashga va'da berdim.


Aksariyat odamlar uchun so'l tushunarsiz narsa va, ehtimol, keraksiz ixtirodir. Ular uchun bu nafaqat ishni optimallashtiradi, balki uni oshiradi. Ushbu fikr makrolardan foydalanish tamoyillarini noto'g'ri tushunishdan kelib chiqadi. Makroslar ba'zi harakatlarni ko'p marta bajarish kerak bo'lganda ishlatiladi. Ko'pincha bu hujjatlarni qayta ishlashning bir xil turi (murakkab formatlash, tanlash), ba'zan to'ldirish uchun shakllar, formulalar, grafikalar uchun hisob-kitoblar ... Bunga va bizning afzalliklarimizga asoslanib, biz makrolarimizni saqlash usulini tanlaymiz:

  • global(yoki qo'shimcha) - dasturni ochishda har doim mavjud;
  • formulali— muayyan shablonni ochishda mavjud;
  • mahalliy— faqat ma'lum bir hujjatda ishlaganda mavjud.

Ikkinchisi kamroq qo'llaniladi, asosan juda murakkab interaktiv hujjatlarda.
Bugungi kunda faqat IT-mutaxassislari bo'lmagan kichik kompaniyalar ofis to'plamlaridan foydalanadilar (LibreOffice yoki MS Office muhim emas), chunki ular "qutidan tashqarida". Aksariyat hollarda, ofis to'plami bu faqat qo'shimchalar o'rnatiladigan bazadir va kompaniya xodimi ko'pincha u ishdan ketgunga yoki boshqa kompaniyaga ko'chib o'tmaguncha u uchun qancha kichik, lekin juda qulay narsalar qilinganidan shubhalanmaydi.


Excelda makroslarni yozishni o'rganishni "Makroni yozib olish" vositasi bilan boshlash tavsiya etiladi. Haqiqatan ham, harakat qismlarini yozib olishda kelajakda foydalanish kerak bo'lgan til va APIning sirt darajasini tasavvur qilish juda oson. Bundan tashqari, ba'zida oddiy makrosni tezda yaratish uchun siz uni "yozayotganda uloqtirasiz" va keyin uni kod muharririda esga olib, jilolaysiz.

LibreOffice 4.1 da Record Makro vositasini ulash

LibreOffice 4.1 da standart funksiya " Makrosni yozib oling» o'chirilgan. Shuning uchun qilish kerak bo'lgan birinchi narsa uni yoqishdir: XizmatVariantlar (AsboblarVariantlar) LibreOffice guruhini kengaytiring va eng pastki qismida "" Kengaytirilgan imkoniyatlar» (« Murakkab") yoniga belgi qo'ying " Makros yozishni yoqish (cheklangan)» (« Makros yozishni yoqish (cheklangan)»).

Shundan so'ng menyuda: Asboblar → Makroslar (Asboblar → Makroslar) menyu bandi " Makro yozib oling» (« Makro yozib oling»).

LibreOffice 4.1 da Record Makro vositasidan foydalanish

Asbobni ko'rsatish uchun " Makroslarni yozib olish“Oddiy misol keltiraylik:
1. Yangi Calc hujjatini oching va uni siz uchun qulay nom bilan diskda saqlang;
2. Yacheykani tanlang A1;
3. Makros yozishni yoqing Asboblar → Makroslar → “Makroni yozib olish” (Asboblar → Makroslar → “Makroni yozib olish”). Bitta tugma bilan panel paydo bo'ladi " Yozishni tugatish» (« Yozishni to‘xtating»);
5. Yacheykani tanlang B1 va bosing " Yozishni tugatish» (« Yozishni to‘xtating»);
6. Quyidagi oyna ochiladi:

Biz faqat ushbu hujjatga kirish huquqiga ega makrosni yaratmoqdamiz, shuning uchun biz hujjat nomi bilan elementni ochamiz (menda article.ods bor, bu siz uchun hujjatni saqlagan nom bo'ladi) va faqat bittasini tanlang. kutubxona mavjud Standart. Unda hali hech qanday modul yo'q, shuning uchun uni yarataylik.
7. Tugmasini bosing " Modul yaratish» (« Yangi modul") va ochilgan oynada modul nomini kiriting.

Odatiy bo'lib, modul chaqirilgan bo'sh makros bilan yaratiladi Asosiy. Maydonga kiriting " Makro nomi» (« Makro nomi") men kiritgan kerakli ism " Asosiy") va "ni bosing" Yozing» (« Saqlash") biz yozib olgan makrosni saqlash uchun. Mening holatimda, bunday so'l nomi allaqachon mavjudligi haqida ogohlantirish paydo bo'ladi.

Makros yozib olinadi va agar biz hozir hujjatni saqlasak, u bilan birga makros ham saqlanadi. Bu shuni anglatadiki, biz ushbu hujjatni har safar ochganimizda, biz ushbu makrodan foydalanishimiz mumkin.

LibreOffice 4.1 makrosini ishga tushirish va tahrirlash

LibreOffice 4.1 da makrosni ishga tushirishning ikki yo'li mavjud.
Birinchidan, oynani oching Makrosni ishga tushirish»: Asboblar → Makroslar → “Makroni ishga tushirish”(Asboblar → Makroslar → “Makroni ishga tushirish...”), kerakli makrosni tanlang va " Ishga tushirish».

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl+Enter tugmalarini bosing
ULOSING: