2 Învățați scriitorul de libro-uri pentru macro-uri

2.1. Obiecte și clase.

Un obiect variabilă este o variabilă care conține alte obiecte, proprietăți și acțiuni desfășurate pe obiect, obiectul este o implementare particulară a clasei (clasa este o descriere a unui anumit set de obiecte cu aceleași proprietăți). În mod obișnuit, accesul la proprietățile și funcțiile tipurilor de date complexe (cum ar fi clasele) se realizează prin scrierea numelui variabilei de obiect și apoi prin punctul de nume al funcției și / sau a proprietăților acestui obiect.







2.2. Variabile și obiecte în Basic

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

În limba de bază, puteți să consultați variabilele care reprezintă legături către obiecte, acestea pot fi obiecte text, paragrafe, tabele afișate pe ecranul ferestrei, au un set de proprietăți și metode pentru a lucra cu aceste obiecte. Modelul obiect poate fi orice, precum și punerea sa în aplicare, cum ar fi pachetul Microsoft Office pus în aplicare modelul său de obiect, în LibreOffice OpenOffice sau pachetul său, pentru că obiectele și o metodă pentru a interacționa cu aceste obiecte în aceste pachete diferite se disting.

2.3. Operatori de bază

Operatorul buclă For.

Pentru index = n1 la n2 [pasul s] Rem a corpului bucla

Variabila Index ruleaza de la n1 la n2 c incrementare s (o creștere de s), în acest caz, s poate fi variabil sau constant tip întreg, între paranteze pătrate indică faptul că structura nu este obligatorie, dacă nu este specificat atunci pasul este 1.

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

Algoritmul calculează suma valorilor de la 4 la 50 în pași 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 următoarea valoare avală

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

Operatorul de buclă În timp ce face acest lucru în timp ce condiția este îndeplinită. Operatorii din cadrul bucla se repetă atâta timp cât este îndeplinită condiția.

în timp ce <условие> Declarații Wend

Exemplu: În timp ce i

Buclele sunt executate în timp ce variabila i este mai mică decât N. Operatorul condițional Dacă,

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

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

<последовательность операторов в случае невыполнения условия>] sfârșit dacă

Exemplu: dacă am mai puțin de 100 (dacă condiția este îndeplinită), atunci crește I cu 1, altfel scade cu 1.

Dacă i<100 then i=i+1

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

2.4. Proceduri și funcții.

Funcțiile și procedurile reprezintă blocuri separate ale declarațiilor care pot fi apelate în programul principal sau subrutina, de obicei apela o funcție sau procedură se realizează în program prin indicarea numelui său și transmise în acesta parametrii după efectuarea funcțiilor de operator, de control se întoarce de program sau subrutina care la cauzat, și Se începe execuția operatorilor după funcția sau procedura. Evident, scopul procedurilor și al funcțiilor nu este acela de a scrie același cod de fiecare dată pentru repetarea frecventă a operațiilor care efectuează o anumită acțiune completă logic. În interiorul funcțiilor și procedurilor, este posibil să se utilizeze variabilele lor locale, care pot avea aceleași nume ca variabilele în alte proceduri și funcții și în programul principal. În același timp, din afara procedurii, nu putem schimba variabilele locale ale funcției. Utilizarea tipică a procedurilor și funcțiilor este aceea că trecem câteva valori la funcție, pe baza cărora această funcție efectuează o serie de acțiuni și calculul unui anumit rezultat. Diferența principală dintre procedurile funcțiilor pe care numele funcției este asociat un tip de date returnate, aproximativ vorbind, funcția poate fi utilizat în expresii cum ar fi aritmetică sau logică, în declarațiile condiționale și bucle. Procedura se numește în afara oricărei expresii.







Funcția returnează suma a două numere parcurse ca parametri reali la o funcție de la un program extern

Suma funcției (a, b ca număr întreg) ca număr întreg Sum = a + b

Utilizarea funcției sumă din program. Dim x ca întreg

Un exemplu de procedură care permite adăugarea a două numere, valoarea este returnată în parametrul formal c, atunci când procedura este apelată, aceasta nu ar trebui să fie o constantă, ci ar trebui să fie o variabilă de tip integer

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

2 Învățați scriitorul de libro-uri pentru macro-uri

Dim c ca număr întreg Suma apelului (2,2, c)

2.5. Crearea unei macrocomenzi în LibreOffice

Pentru a crea o macrocomandă în LibreOffice, alegeți serviciul + macro-uri + gestionarea macro-urilor + LibreOffice Basic (Instrumente + Macrouri + Organizați macrocomenzi). Va fi afișată fereastra din figura de mai jos (Figura 19). Pentru ca macrocomanda să fie salvată în documentul în sine, trebuie să selectați documentul, să selectați un set de module "standard" standard și apoi să faceți clic pe "create", apoi trebuie să introduceți numele modulului. După crearea modulului, îl puteți selecta, din fereastra din dreapta selectați macro-ul principal și faceți clic pe Editare. Sau, după crearea modulului (Module1), scrieți un nou nume de macro în câmpul Nume macro și faceți clic pe creați (Figura 20).

Figura 19 - Fereastră de creare și editare macro

Figura 20 - Exemplu de creare a unei noi macro-uri MyMainMacros

2 Învățați scriitorul de libro-uri pentru macro-uri

În LibreOffice, după cum sa menționat deja, modelul obiect este ușor diferit față de Microsoft Office, în LibreOffice Basic, se folosește așa-numitul model unificat de obiecte de rețea UNO. Mai jos este un exemplu al macrocomenzii 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 disponibil din macro

"crearea unei referințe la obiectul documentului, documentul curent Doc = StarDesktop.CurrentComponent

"crearea unui obiect de enumerare

'pentru toate elementele de text În timp ce Enum.hasMoreElements TextElement = Enum.nextElement

"verificați dacă blocul curent este un tabel

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

MsgBox "Blocul curent conține tabelul"







Trimiteți-le prietenilor: