Internet Windows Android

Macro-urile din libreoffice calc. Cum să activați macrocomenzi în LibreOffice Calc

Folosesc Linux de aproximativ 10 ani. Acum aproximativ 5 ani am început să folosesc OpenOffice, iar acum 3 ani - LibreOffice. Spre surprinderea mea, și chiar rușine, nu am macrocomenzi scrise pentru Calc. Dar pentru Excel, s-au acumulat destule în acest timp, pornind de la formulare și formule simple și terminând cu suplimente puternice pentru întreprinderi care automatizează pregătirea informațiilor. Astăzi am promis că voi începe încet să studiez pachetul și capacitățile acestuia, în care petrec destul de mult timp.


Pentru majoritatea oamenilor, o macro este ceva de neînțeles și, poate, o invenție inutilă. Pentru ei, nu numai că nu optimizează munca, dar o și mărește. Această opinie este cauzată de lipsa de înțelegere a principiilor de utilizare a macrocomenzilor. Macro-urile sunt folosite atunci când trebuie să efectuați o acțiune de mai multe ori. Cel mai adesea, acesta este același tip de procesare a documentelor (formatare complexă, selecții), uneori formulare pentru umplere, formule, calcule pentru grafice ... Pe baza acestui lucru și a preferințelor noastre, alegem modul de stocare a macrocomenzilor:

  • global(sau add-on) - întotdeauna disponibil când deschideți programul;
  • formulă- disponibil la deschiderea unui anumit șablon;
  • local- disponibil atunci când se lucrează numai într-un anumit document.

Acesta din urmă este folosit mai rar, în principal în documente interactive foarte complexe.
Astăzi, doar companiile mici care nu au specialiști IT în personal folosesc suite de birou (nu contează LibreOffice sau MS Office) deoarece sunt „out of the box”. În cele mai multe cazuri, suita office este doar baza pe care sunt implementate suplimentele, iar angajatul companiei de multe ori nici nu bănuiește câte lucruri mici, dar foarte convenabile i s-au făcut până când pleacă sau se mută în altul. companie.


Învățați cum să scrieți macrocomenzi în Excel este recomandat să începeți cu instrumentul Înregistrare macrocomenzi. Într-adevăr, notând piesele de acțiuni, este suficient să vă imaginați pur și simplu nivelul de suprafață al limbajului și al API-ului pe care va trebui să îl utilizați în viitor. De asemenea, uneori, pentru a crea rapid o macrocomandă simplă, de parcă o „arunci notând-o” și apoi o lustruiești, aducând-o în minte în editorul de cod.

Conectarea instrumentului Record Macro în LibreOffice 4.1

În LibreOffice 4.1, funcția implicită „ Înregistrare macro"Este dezactivat. Prin urmare, primul lucru de făcut este să îl activați: ServiciuOpțiuni (InstrumenteOpțiuni) extindeți grupul LibreOffice și în partea de jos a articolului " Capabilitati extinse» (« Avansat") Bifați caseta împotriva" Activați înregistrarea macro (limitată)» (« Activați înregistrarea macro (limitată)»).

După aceea, în meniul tău: Instrumente → Macrocomenzi (Instrumente → Macrocomenzi) elementul de meniu „ Înregistrare macro» (« Înregistrare macro»).

Utilizarea Macro Recorder în LibreOffice 4.1

Pentru a demonstra instrumentul „ Înregistrare macrocomenzi»Iată un exemplu simplu:
1. Să deschidem un nou document Calc și să-l salvăm pe disc sub un nume convenabil pentru tine;
2. Selectați celula A1;
3. Să activăm înregistrarea macro Instrumente → Macrocomenzi → „Înregistrare macrocomandă” (Instrumente → Macrocomenzi → „Înregistrare macrocomandă”). Va apărea un panou cu un singur buton " Terminați înregistrarea» (« Opriți înregistrarea»);
5. Selectați celula B1și faceți clic pe " Terminați înregistrarea» (« Opriți înregistrarea»);
6. Se va deschide următoarea fereastră:

Facem o macro cu acces doar în acest document, prin urmare, vom deschide elementul cu numele documentului (am article.ods, veți avea acest nume sub care ați salvat documentul) și vom selecta singura bibliotecă prezentă Standard... Nu există încă module în el, așa că haideți să-l creăm.
7. Apăsați butonul " Creați modul» (« Modul nou") Și în fereastra care se deschide, introduceți numele modulului.

În mod implicit, modulul este creat cu o macrocomandă goală numită Principal... Să intrăm în câmpul „ Nume macro» (« Nume macro") Am introdus numele dorit" Principal") Și faceți clic pe" Scrie» (« Salvați») Pentru a salva macrocomanda pe care am înregistrat-o. În cazul meu, va apărea un avertisment că există deja un astfel de nume pentru macrocomandă.

Macro-ul este înregistrat, iar dacă acum salvăm documentul, macro-ul va fi salvat cu el. Aceasta înseamnă că de fiecare dată când deschidem acest document, putem folosi această macrocomandă.

Lansarea și editarea unei macrocomenzi LibreOffice 4.1

Există două moduri de a rula o macrocomandă în LibreOffice 4.1.
Mai întâi, deschideți fereastra " Rulați Macro»: Instrumente → Macrocomenzi → „Run Macro”(Instrumente → Macrocomenzi → „Run Macro...”), selectați macro-ul dorit și apăsați „ Alerga».

Invitația a fost primită. :)

Salutare hackeri!
Astăzi vreau să vă povestesc despre utilizarea macrocomenzilor în LibreOffice.

cuvânt înainte
În fiecare zi, acasă și la serviciu, folosim aplicații de birou pentru a îndeplini orice sarcini. Se întâmplă adesea să vă specializați într-un loc de muncă și să ajungeți să efectuați aceleași sarcini: introduceți același text, formatați-l folosind un număr mare de taste rapide. În toate aceste cazuri, vă puteți economisi timp valoros de lucru automatizând o parte din munca dvs.
Mai târziu în articol vă voi spune despre utilizarea macrocomenzilor în LibreOffice.

Ce sunt macrocomenzile și de ce sunt acestea?

Macro este o secvență de anumite acțiuni care pot fi înregistrate folosind meniul obișnuit. Când selectați o înregistrare macro, acțiunile pe care le efectuați sunt salvate automat ca cod de script. Și în munca dvs. ulterioară, aceasta va fi deja efectuată independent, repetând exact acțiunile dvs. în program. O macrocomandă poate fi pe cât de simplă, pe atât de complexă - totul depinde de ce fel de rezultat trebuie să obții. Principalul criteriu pentru macrocomenzi este să fie puternic și ușor de utilizat în același timp. Macrocomenzile LibreOffice îndeplinesc exact aceste cerințe. Să încercăm în practică.

Pentru a utiliza pachetul LibreOffice, Trebuie să aveți un sistem de operare preinstalat Linux, Windows sau MacOS, precum și pachetul LibreOffice instalat ( îl puteți instala, de exemplu, din depozitele ppa, așa cum este descris în acest subiect)

Managementul macro

Înainte de a începe să ne creăm propria macrocomandă, trebuie să ne familiarizăm cu instrumentul de gestionare a macrocomenzii. Mergem pe drum Instrumente - Macro-uri - Organizare macrocomenzi - Macro-uri de bază LibreOffice(Instrumente - Macro-uri - Gestionați macrocomenzi - Macro-uri de bază LibreOffice):

În coloana din stânga a ferestrei, putem vedea o listă de macrocomenzi implicite instalate. Făcând clic pe oricare dintre ele, îl puteți edita sau șterge.
Sarcina principală a ferestrei- selectați macrocomanda de care aveți nevoie, atribuiți-i un buton pe bara de instrumente sau asociați-o cu un eveniment. Atribuirea unui buton unei macrocomenzi vă permite să le executați rapid pe cele pe care le folosiți cel mai des.

Vreau să observ că crearea unei macrocomenzi în modul automat (înregistrare) necesită cel puțin puține cunoștințe ale limbajului pentru scrierea macrocomenzilor, deoarece uneori trebuie să o edităm. Pentru a vedea cum arată macrocomanda, selectați macrocomandă de care avem nevoie și apăsați Editați | ×(Editați | ×). Mai jos este un exemplu de cum arată macrocomanda în codul sursă:

Să luăm un exemplu simplu. Avem ceva text deja inserat în document și trebuie să îi facem un titlu, deoarece textul nostru va fi folosit în corespondența de afaceri.
Viitoarea noastră macrocomandă ar trebui să poată:
- plasați textul în centrul de sus al paginii;
- introduceți text care va fi folosit ca titlu.
După ce creăm o macrocomandă, îi vom atribui un buton pe bara de instrumente. După aceea, un singur clic al mouse-ului va fi suficient pentru a insera titlul în document.
Să urmăm succesiunea pașilor.

Pasul 1.
Deschideți un document text. Să mergem mai departe Instrumente - Macrocomenzi - Înregistrare macrocomandă... Va apărea o mică fereastră „Înregistrare macrocomandă” cu un singur buton „Încheierea macrocomenzii” ( Opriți înregistrarea):

Pasul 2.
Să creăm un titlu pentru text. Hai să facem clic pe butonul „Alinierea la centru”("Centrat"), astfel încât viitorul nostru text să fie exact în centrul documentului. Acum scriem textul titlului în sine. Nu ar trebui să setați diferite formate pentru acesta (font sau bold / italic / subliniat), deoarece macro-ul nu își amintește astfel de acțiuni.

Pasul 3.
După ce crearea titlului este completă, faceți clic pe butonul „Încheiere macrocomandă” din fereastra „Înregistrare macrocomandă”. Fereastra Macro Organizer va apărea imediat. Dați un nume noii macrocomenzi (de exemplu, PostHead). Acum îl puteți salva oriunde doriți (de exemplu, folderul " Macro-ul meu").

Pasul 4.
Acum trebuie doar să adăugăm un buton pe bara de instrumente pentru macrocomandă Post Head... Acest proces nu este atât de simplu pe cât ar părea la prima vedere.
Deschidem Macro-uri de bază LibreOffice, apasa butonul " Atribui"(" Atribuiți "). Va apărea următoarea fereastră Personalizați, în care ar trebui să mergem la fila Bare de instrumenteși asigurați-vă că câmpul „Bara de instrumente” este „Standard” ( Standard) .

Faceți clic pe butonul „Adăugați” din această fereastră ( Adăuga). Va apărea o altă fereastră - „Adăugați comenzi” ( Adăugați comenzi).
În lista ferestrei din stânga „Categorii” ( Categorie) găsim " Macro-urile LibreOffice„(în partea de jos a listei). Deschideți-o și ajungeți la macrocomanda noastră. De îndată ce o găsim, rămâne să efectuați ultimul și cel mai simplu pas. Trageți macrocomanda Antet cu mouse-ul în locul barei de instrumente unde am dori să-l vedem.
Totul, a făcut față sarcinii.
Acum tot ce trebuie să facem este să folosim butonul PostHead, pe care l-am adăugat la panou. De exemplu, deschideți un document nou și faceți clic pe butonul Post Head... Macrocomanda noastră va crea un titlu cu exact textul pe care i l-am „alocat” și îl va plasa în partea de sus a documentului, exact în centru.
Nu este convenabil?

Rezultat
Desigur, în exemplul meu, am creat o macrocomandă foarte simplă. Dar cu instrumentele de mai sus, puteți crea și macrocomenzi foarte complexe. Și nu numai în Scriitor, dar și în toate celelalte aplicații ale pachetului LibreOffice(Foaie de calcul, Prezentări etc.). Acum că știți cum să creați macrocomenzi, le puteți crea cu ușurință pe ale dvs. pentru a vă ușura munca.
Scopul acestui articol este de a învăța elementele de bază ale lucrului cu un instrument de înregistrare macro.

Uneori trebuie să lucrați cu textul sau să procesați textul în orice mod complex, iar mijloacele obișnuite oferite de interfață nu sunt suficiente pentru aceasta. În plus, uneori este necesar să se efectueze aceeași secvență de acțiuni de rutină, ceea ce uneori necesită mult timp, dar aș dori să reduc succesiunea acestor acțiuni la o apăsare de buton. Writer vă permite să creați macrocomenzi speciale, care sunt, de fapt, proceduri de procesare a textului scrise într-un limbaj de programare, în cazul nostru, limbajul Basic acționând ca un limbaj de programare. În același timp, având un set de toți operatori standard inerenți limbajelor de programare de nivel înalt, este posibil să accesați obiecte ale editorului de text Writer, documente deschise, funcții pentru deschiderea documentelor, toate obiectele acestui document, inclusiv imagini, paragrafe. , anteturi și subsoluri, text selectat, liste, cuvinte, litere, fonturi etc ..

2.1. Obiecte și clase.

Ce este un Obiect. Din punctul de vedere al lumii reale, un obiect este ceva material care există și are proprietăți și comportament în lumea reală, adesea obiectele au unele proprietăți comune, datorită cărora referim fiecare obiect la o anumită clasă de obiecte. De exemplu - o mașină, există diferite implementări concrete și obiecte de mașini, dar clasa generală este o mașină care are patru roți, este capabilă să conducă și este condusă de un șofer. Același lucru se poate spune despre text sau document, un document este un obiect care conține un obiect text, iar un obiect text conține cuvinte, paragrafe, litere, textul este editat, modificat, afișat, un document este creat și salvat. Efectuăm toate aceste acțiuni cu aceste obiecte folosind funcțiile editorului, dar putem apela aceste funcții folosind limbajul algoritmic.

Dacă ați lucrat deja cu limbaje de programare și ați scris programe, atunci știți că în orice limbaj de programare există un set de operatori sau instrucțiuni cu care puteți scrie instrucțiuni sau un program pe care procesorul îl poate înțelege și executa. Există un set de operatori standard cu care puteți scrie aproape orice algoritm, de orice complexitate - aceasta este o ramură, o buclă, o secvență liniară de execuție a operatorului, operații aritmetice și capacitatea de a accesa variabile și de a scrie unele valori sau rezultate ale expresiilor logice sau aritmetice din ele. De obicei, în limbajele de nivel înalt încearcă să evite munca complexă cu memoria inerentă limbajelor de mașină, este introdusă o operație standard de atribuire, care permite atribuirea unei anumite secvențe - variabile - simbolice. În linii mari, folosind această secvență de caractere în expresii, lucrați cu ceea ce este conținut în această variabilă ca într-o casetă. Puteți descrie operația de atribuire după cum urmează: Într-un pahar cu numele - St1, turnăm lapte dintr-o cană Cr1 și spunem, turnăm-mi lapte în St1 din Cr1. Astfel, vei fi turnat cu ceea ce este conținut în Cr1. La fel este și cu variabila. Să spunem Val1 = 20; Val2 = 30; Val3 = Val1 + Val2; atunci Val3 va conține valoarea 50. Știți că o variabilă poate conține doar date de un anumit tip și nu totul într-un rând (deși există o variantă specială de tip de date când tipul unei variabile poate fi determinat în timpul execuției programului) . La urma urmei, putem stoca nume (șiruri) și numere și obiecte. Prin urmare, fiecărei variabile i se atribuie un fel de tip de date, sau domeniul sau domeniul de aplicare al valorilor pe care le poate lua. De obicei, în limbajele de programare, acestea sunt tipuri întregi, reale, șir, caractere, booleene, enumerate, set, numere complexe, tip de înregistrare sau structuri. Deci, ce este un obiect variabil, este un fel de referință la un obiect, care este o structură de date complexă care, printre altele, poate conține metode de lucru cu aceste date și obiect, precum și pentru a proteja datele și a restricționa sau permite acces la acesta.

O variabilă obiect este o variabilă care conține alte obiecte, proprietăți și acțiuni efectuate asupra unui obiect, un obiect este o implementare specifică a unei anumite clase (o clasă este o descriere a unui anumit set de obiecte cu aceleași proprietăți). De obicei, proprietățile și funcțiile tipurilor de date complexe (cum ar fi clasele) sunt accesate prin scrierea numelui unei variabile obiect, urmat de un punct în numele funcției și/sau proprietății obiectului respectiv.

2.2. Variabile și obiecte în Basic

Pentru a declara o variabilă, specificați cuvântul cheie dim și apoi o listă de variabile separate prin virgulă, cuvântul ca și tipul variabilei.

Dim a, b ca întreg - declarația unei variabile de tip întreg. Dim s as string - declarația unei variabile de tip șir.

Dim mass () as integer - declarația unei matrice dinamice unidimensionale de tip întreg. Redim mass (100) - modificați lungimea matricei și setați-o la 100.

Dim desk ca com.sun.star.frame.Desktop este o variabilă de tip desktop a modelului de rețea unificată UNO, această variabilă se poate referi la obiecte de tip Desktop.

În limbajul Basic, puteți accesa variabile care sunt referințe la obiecte, acestea pot fi obiecte text, paragrafe, tabele afișate pe ecranul ferestrei, au un set de proprietăți și metode de lucru cu aceste obiecte. Modelul obiect poate fi oricare, precum și implementarea lui, de exemplu, pachetul Microsoft Office are propriul model de obiect, pachetul LibreOffice sau OpenOffice are propriul său, prin urmare obiectele și modul de interacțiune cu aceste obiecte din aceste pachete diferite sunt diferite.

2.3. Operatori de bază

Operator pentru buclă.

Pentru index = n1 până la n2 Rem bucla corp

Variabila Index parcurge valori de la n1 la n2 cu s in crestere (creste cu s), in acest caz s poate fi o variabila sau constanta de tip intreg, parantezele patrate indica faptul ca constructia este optionala, daca nu este specificata atunci pasul este 1.

De exemplu val = 0

Pentru xyz = 4 până la 50 pasul 4 val = val + xyz

Algoritmul calculează suma valorilor de la 4 la 50 cu un pas de 4, adică suma de 4, 8, 12, 16 ...

până la 48 în variabila val. val1 = 0

Pentru aval = 1 până la 50 val1 = val1 + aval aval următor

În acest caz, se calculează suma numerelor întregi de la 1 la 50.

Instrucțiunea while loop, faceți în timp ce condiția este îndeplinită. Declarațiile din interiorul buclei sunt repetate atâta timp cât condiția este îndeplinită.

In timp ce<условие>Operatori Wend

Exemplu: În timp ce i

Bucla este executată atâta timp cât variabila i este mai mică decât N. Instrucțiunea condițională If,

dacă<условие>atunci

<последовательность операторов если условие выполняется>sfârşitul dacă

Exemplu: dacă I ​​este mai mic de 100 (dacă este îndeplinită condiția), atunci crește I cu 1, în caz contrar scade cu 1.

Dacă eu<100 then i=i+1

altfel i = i-1 sfârşit dacă

2.4. Proceduri și funcții.

Funcțiile și procedurile sunt blocuri separate de instrucțiuni care pot fi apelate în programul principal sau subrutină, de obicei o funcție sau procedură este apelată într-un program prin specificarea numelui și parametrilor trecuți acestuia, după executarea instrucțiunilor funcției, controlul este returnat la programul sau subrutina care l-a numit și începe execuția instrucțiunilor care urmează funcției sau procedurii. Evident, scopul procedurilor și funcțiilor nu este de a scrie același cod de fiecare dată pentru operații repetate frecvent care efectuează o anumită acțiune finalizată logic. În același timp, în interiorul funcțiilor și procedurilor, este posibil să utilizați propriile variabile locale, care pot avea aceleași nume ca și variabilele din alte proceduri și funcții și din programul principal. În același timp, din afara procedurii, nu putem modifica variabilele locale ale funcției. O utilizare tipică a procedurilor și funcțiilor este aceea că trecem anumite valori funcției, pe baza cărora această funcție efectuează o serie de acțiuni și calculează un rezultat. Principala diferență dintre proceduri și funcții este că numele funcției este asociat cu un anumit tip de date returnate, aproximativ vorbind, funcția poate fi folosită în expresii, de exemplu, aritmetice sau logice, în instrucțiuni și bucle condiționate. Procedura este numită în afara oricărei expresii.

Funcția returnează suma a două numere transmise ca parametri reali funcției dintr-un program extern

Funcția sumă (a, b ca număr întreg) ca număr întreg Suma = a + b

Utilizarea funcției sumă într-un program. Dim x ca număr întreg

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

Un exemplu de procedură care vă permite să adăugați două numere, valoarea este returnată în parametrul formal cu, la apelarea procedurii, nu ar trebui să fie o constantă, ci ar trebui să fie o variabilă de tip întreg

Subsumă (a, b, c ca număr întreg)

Dim c ca întreg Suma apelului (2,2, c)

2.5. Crearea unei macrocomenzi în LibreOffice

Pentru a crea o macrocomandă în LibreOffice, selectați Service + Macro-uri + Macro Management + LibreOffice Basic (Instrumente + Macro-uri + Organizare macrocomenzi). Aceasta va afișa fereastra prezentată în figura de mai jos (Figura 19). Pentru ca macro-ul să fie salvat în documentul propriu-zis, trebuie să vă selectați documentul, să selectați setul de module standard „standard” și apoi să faceți clic pe „creați”, apoi trebuie să introduceți numele modulului. După crearea unui modul, îl puteți selecta, selectați macrocomandă principală în fereastra din dreapta și faceți clic pe Editare. Sau, după crearea modulului (Module1), scrieți un nou nume pentru macrocomandă în câmpul Nume macro și faceți clic pe create (Figura 20).

Figura 19 - Fereastra pentru crearea și editarea macrocomenzilor

Figura 20 - Un exemplu de creare a unei noi macrocomenzi MyMainMacros

Ca urmare a creării și editării unei macrocomenzi, apare fereastra editorului BASIC, figura prezintă un exemplu cu două macro-uri, bineînțeles că pot fi mai multe și pot avea parametri de intrare.

Figura 21 - Editor de bază și două macrocomenzi

În LibreOffice, așa cum s-a menționat deja, modelul de obiect este ușor diferit de cel din Microsoft Office, în LibreOffice Basic este utilizat așa-numitul model de obiect al rețelei unificate UNO. Mai jos este un exemplu de macrocomandă openoffice care mărește dimensiunea fontului fiecărui paragraf.

Dim Doc ca obiect

Dim Enum ca obiect

Dim TextElement ca obiect

" StarDesktop - obiectul principal accesibil din macro

" crearea unui obiect de enumerare

Enum = Doc.Text.createEnumeration

" parcurge toate elementele text While Enum.hasMoreElements TextElement = Enum.nextElement

" verificând dacă blocul curent este un tabel

Dacă TextElement.supportsService ("com.sun.star.text.TextTable"), atunci

MsgBox „Blocul curent conține un tabel”

Public orice materiale în două formate - odtși pdf... Acesta din urmă este convenabil pentru distribuție. Export către pdf realizat prin mijloace standard de LibreOffice prin dialogul „ Fișier -> Export în PDF". În procesul de corectare a manualului și de corectare a erorilor din acesta, de multe ori trebuie să re-salvați documentul. Și pentru a nu exporta manual documentul de fiecare dată, m-am gândit că ar fi bine dacă acest lucru se întâmplă automat la salvare odf fişier. Și cunoașterea limbajului macro LibreOffice este absolut inutilă în acest caz.

Sarcina este rezolvată folosind funcția de înregistrare macro. Nu este disponibil implicit. Pentru a-l activa accesați „ Instrumente -> Opțiuni„În capitolul” LibreOffice„Selectați elementul” Capabilitati extinse„Și bifează caseta de lângă” Activați înregistrarea macro».

După repornirea LibreOffice în „ Instrumente → Macrocomenzi„Articolul” Înregistrare macro».

După ce faceți clic pe „ Instrumente -> Macrocomenzi -> Înregistrare macrocomandă„O fereastră cu un buton” Încheiați înregistrarea».

Concluzia este simplă:

  1. Activați înregistrarea macro
  2. Efectuați acțiunea necesară în timp ce înregistrarea este în curs. În cazul meu, tocmai am efectuat exportul în PDF prin „ Fișier -> Export în PDF»
  3. Apasă pe " Încheiați înregistrarea»
Gata, exportul în macro PDF a fost înregistrat, trebuie doar să o salvezi.

Pentru comoditate, am creat un modul „ Exportă_în_PDF„în bibliotecă” Standard„Și mi-am salvat macrocomanda în acest modul.

Acum tot ce rămâne este să atribuiți declanșarea macrocomenzii unui anumit eveniment. În cazul nostru, pentru a salva documentul. Mergem la " Service -> Setări"La" Evoluții».

Atenţie! Macrocomanda a fost scrisă în LibreOffice 4.4.3.2 și Windows XP.

Porniți LibreOffice Calc. Selectați Instrumente -> Macro-uri -> Gestionați macrocomenzi -> LibreOffice Basic


În fereastra Libre Office BASIC Macros, în câmpul „Nume macrocomandă”, scrieți „Main”. În câmpul „Macro de la”, selectați „Macrocomenzile mele” - „Standard” și faceți clic pe butonul „Creare”. A se vedea figura 1.

Figura 1. Fereastra LibreOffice Basic Macros


În fereastra Modul nou setați numele „Module1” și apăsați butonul „OK”. A se vedea figura 2.

Figura 2. Crearea unui nou modul

Figura 3. LibreOffice Basic Macro Editor

Am creat modulul Module1 cu procedura principală Main. Pentru a crea un dialog, selectați opțiunea de meniu Instrumente -> Macrocomenzi -> Gestionare dialoguri... din Editorul de macrocomenzi de bază LibreOffice.

Selectați fila „Dialoguri”. În secțiunea „Dialog”, selectați „Dialogurile mele” -> „Standard” și apăsați butonul „Creare”. A se vedea figura 4.

Figura 4. Crearea unui dialog macro

În fereastra de dialog nou setați numele „Dialog1” și apăsați butonul „OK”. Vezi Figura 5. Apoi butonul „Închidere” al ferestrei LibreOffice Basic Macro Management.

Figura 5. Crearea unui nou dialog

Apoi, în fereastra editorului de macro-uri LibreOffice Basic, faceți dublu clic pe dialogul nostru nou creat cu numele „Dialog1”, vezi numărul 1 din Figura 6. După aceea, se va deschide editorul de dialog vizual, vezi numărul 2 din Figura 6.

Figura 6. Editor de dialog de bază LibreOffice

Acum trageți un element vizual numit etichetă și un buton pentru elementul vizual în dialogul nostru. Imaginile pot fi trase din panoul vizual, vezi numărul 3 din Figura 6.

Dacă selectați elementul vizual Etichetă, se va deschide un set de proprietăți pentru acest element. Puteți personaliza elementul prin aceste proprietăți. Denumiți elementul lblNow și lăsați textul necompletat. Pentru elementul buton vom numi OKButton și textul va fi OK. Vezi numerele 1,2,3 din figura 7.

Figura 7. Adăugarea elementelor vizuale în Editorul de dialog de bază LibreOffice

După cum am scris mai sus, modulul Module1 cu procedura principală Main a fost creat (vezi Figura 8), dar nu a fost finalizat încă.

Figura 8. Adăugarea codului sursă al macrocomenzii


Procedura Main este cea principală, în care încărcăm o casetă de dialog numită Dialog1, acestea sunt următoarele linii de cod:

DialogLibraries.LoadLibrary („Standard”)
Dlg = CreateUnoDialog (DialogLibraries.Standard.Dialog1)

Formăm un șir cu data și ora curente, acestea sunt următoarele linii de cod:

Dim strNow As String
strNow = Format (Acum (), „aaaa-mm-zz”)
strNow = strNow + Format (Ora (), "hh: mm")

Atribuim un șir cu data și ora elementului vizual o etichetă numită lbl. Acum, acestea sunt următoarele linii de cod:

Dim clblNow ca obiect
clblNow = Dlg.getControl ("lblNow")
clblNow.Text = strAcum

Cu ultima linie de cod din procedura Main, executăm o casetă de dialog numită Dialog1:

Dlg.Execute ()

Mai există o procedură, numele ei este OKButton_execute, aceasta este o procedură eveniment, se execută în momentul apăsării butonului numit OKButton și închide caseta de dialog numită Dialog1, aceasta este următoarea linie de cod:

Dlg.endExecute ()

Acum atribuiți procedura numită OKButton_execute butonului numit OKButton ca eveniment la „Eliberarea tastei mouse-ului”. Pentru a face acest lucru, deschideți editorul vizual al dialogului Dialog1, vedeți numărul 1 din Figura 9. Selectați butonul denumit OKButton și mergeți la fila „Evenimente”, vedeți numărul 2 din Figura 9. În evenimentul „Eliberați butonul mouse-ului” , specificați procedura numită OKButton_execute făcând clic pe butonul cu trei puncte, vezi numărul 3 din Figura 9.

Figura 9. Atribuirea unui eveniment butonului OK

Am făcut tot ce era necesar pentru a rula macro-ul. Mai întâi, să vedem ce face macro-ul pentru noi. Sub numărul 2 din Figura 10, vedeți caseta de dialog creată cu data și ora curente afișate. Făcând clic pe butonul OK se închide caseta de dialog.

1. Rulați o macrocomandă din editorul de macrocomandă LibreOffice Basic Deschideți codul nostru în editorul de macrocomandă LibreOffice Basic și executați-l apăsând tasta F5 sau apăsând butonul de rulare macro, vezi numărul 1 din Figura 10.

2. Rularea unei macrocomenzi din caseta de dialog „Select Macro”, vezi numărul 1 din Figura 11. În caseta de dialog, trebuie să ne selectăm macrocomanda și să facem clic pe butonul „Run”, vezi numărul 2 din Figura 11.

Figura 11. Rularea unei macrocomenzi din dialogul „Selectare macrocomandă”.

3. Rulați o macrocomandă din meniuri și submeniuri din LibreOffice Calc sau LibreOffice Writer, vedeți numărul 0 din Figura 12. Pentru a crea meniuri și submeniuri, selectați elementul de meniu „Instrumente” și submeniul „Opțiuni”, vezi numerele 1 și 2 din figură 12. În caseta de dialog „Setări” din fila „Meniu”, faceți clic pe butonul „Nou...”, introduceți numele meniului nostru (de exemplu, „Macro-uri”), vedeți numărul 3 din Figura 12. Pentru a crea un submeniu al meniului nostru „Macro-uri”, faceți clic pe „Adăugați...” (vezi numărul 4 din figura 12.).

Figura 12. Rularea unei macrocomenzi din meniuri și submeniuri în LibreOffice Calc sau LibreOffice Writer

Apoi, în caseta de dialog „Adăugați comenzi”, selectați comanda care va fi executată atunci când este selectat submeniul nostru (vezi numerele 1 și 2 din Figura 13), adică. selectăm macrocomandă numită Main.

Figura 13. Adăugarea unei comenzi pentru submeniu

Redenumiți submeniul nostru selectând elementul de meniu „Redenumire...” al butonului „Modificare” din caseta de dialog „Setări” din fila „Meniu” (vezi numerele 1,2,3,4 din Figura 14). Denumiți submeniul „Macro fereastră dată”.

Figura 14. Redenumirea unui submeniu

4. Rularea unei macrocomenzi în LibreOffice Calc sau LibreOffice Writer apăsând o comandă rapidă de la tastatură. Pentru a face acest lucru, deschideți dialogul „Setări” și selectați fila „Tastatură” (vezi numărul 1 din Figura 15). Apoi selectăm comanda, care este macrocomandă numită „Main” (vezi numărul 2 din Figura 15). Apoi selectăm o combinație de taste libere și le atribuim comenzii noastre, de exemplu. o macrocomandă numită Main (vezi numerele 3,4,5 din Figura 15).

Figura 15. Atribuirea unei taste de comandă rapidă pentru a rula o macrocomandă

5. Lansarea unei macrocomenzi în LibreOffice Calc sau LibreOffice Writer făcând clic pe butonul de pe bara de instrumente (vezi numărul 4 din Figura 16). Pentru a crea un buton pe bara de instrumente, selectați elementul de meniu „Service” și submeniul „Setări”, vezi numărul 1 din Figura 16. În caseta de dialog „Setări”, în fila „Barre de instrumente”, faceți clic pe „Nou .. .", introduceți numele barei noastre de instrumente (de exemplu, „Panoul Macro”), vezi numărul 2 din Figura 16. Pentru a crea un buton în bara de instrumente, faceți clic pe butonul „Adăugați...” (vezi numărul 3 din Figura 16). 16).

Figura 16. Rularea unei macrocomenzi din bara de instrumente

Apoi, în caseta de dialog „Adăugați comenzi”, selectați comanda care va fi executată când faceți clic pe butonul nostru din bara noastră de instrumente (vezi numerele 1 și 2 din Figura 13), adică. selectăm macrocomandă numită Main.

Redenumiți butonul nostru de pe bara de instrumente selectând elementul de meniu „Redenumire...” al butonului „Modificare” din caseta de dialog „Opțiuni” din fila „Bare de instrumente” (vezi numerele 1,2,3,4 din Figura 17) . Denumiți butonul „Macro fereastră cu dată”.

Figura 17. Redenumirea unui buton din bara de instrumente