Sunteți pe pagina 1din 29

Capitolul 15

Iniiere

Iniiere n limbajul macro:


Extras din "OpenOffice.org Macros Explained"

OpenOffice.org

Copyright
Acest document este Copyright 2005 de ctre contributorii menionai n seciunea Autori.
Poate fi distribuit i/sau modificat n conformitate cu prevederile licenei GNU General Public
License, versiunea a 2-a sau ulterioar (http://www.gnu.org/licenses/gpl.html) ori n
conformitate cu prevederile licenei Creative Commons Attribution License, versiunea 2.0 sau
ulterioar (http://creativecommons.org/licenses/by/2.0/).
Toate mrcile nregistare menionate n acest ghid aparin proprietarilor de drept.

Autori
Andrew Douglas Pitonyak
Amriuei Gheorghe (traducerea n limba romn)

Prerea dumneavoastr
Responsabil: Andrew Douglas Pitonyak
V rugm s trimitei comentariile sau sugestiile dumneavoastr despre acest document la:
authors@user-faq.openoffice.org

Mulumiri
Acest capitol este reprodus cu permisiunea autorului i a editorului din capitolul I al crii lui
Andrew Pitonyak OpenOffice.org Macros Explained, publicat de Hentzenwerke, 2004. Mai
multe informaii despre carte, inclusiv cuprinsul, gsii la
http://www.hentzenwerke.com/catalog/oome.htm. S-a schimbat foarte puin n privina macrourilor de la OOo1.X la Ooo2.0, astfel nct cartea este actual.

Data publicrii i versiunea programului


Publicat n englez la 13 Aprilie 2005. Bazat pe OpenOffice.org 2.0.
Tradus n romn la 14 mai 2005.

Putei s descrcai o versiune editabil a acestui document de la


http://oooauthors.org/en/authors/userguide2/published/

CIORN bazat pe software nefinalizat

Cuprins

Cuprins
Copyright........................................................................................................................................i
Autori..............................................................................................................................................i
Prerea dumneavoastr...................................................................................................................i
Mulumiri........................................................................................................................................i
Data publicrii i versiunea programului........................................................................................i
Limbajul macro din OpenOffice.org..................................................................................................1
Stocarea unui macro ntr-o bibliotec dintr-un document...................................................................2
Pasul 1. Crearea unei biblioteci.....................................................................................................2
Pasul 2. Crearea unui modul..........................................................................................................5
Pasul 3. Introducerea primului macro propriu...............................................................................7
Stocarea unui macro ntr-o bibliotec dintr-o aplicaie.....................................................................12
Mediul de dezvoltare integrat (IDE).................................................................................................13
Folosirea Punctelor de control (breakpoints)...............................................................................17
Administrarea bibliotecilor...............................................................................................................18
Cum sunt stocate bibliotecile.......................................................................................................18
Bibliotecile la nivel de aplicaie..................................................................................................19
Bibliotecile la nivel de document................................................................................................21
Utilizarea Administrare macro-uri (Macro Organizer)................................................................21
Redenumirea modulelor i a bibliotecilor........................................................................................22
Adugarea bibliotecilor....................................................................................................................23
Concluzie..........................................................................................................................................25

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Iniiere n limbajul macro

Cuprins

ii

CIORN bazat pe software nefinalizat

Limbajul macro din


OpenOffice.org

Limbajul macro din OpenOffice.org


Un macro reprezint o secven de comenzi sau apsri de taste nregistrat pentru o folosire
ulterioar. Un exemplu de macro foarte simplu este cel care v "tasteaz" adresa. Macro-urile
pot reine comenzi care implementeaz o multime de funcii avansate, ca de exemplu cele
condiionale (de exemplu, dac soldul este negativ, afieaz-l cu rou; dac nu, cu negru),
ciclare (dac soldul este pozitiv, scade 10 din el) i chiar interogarea utilizatorilor (de exemplu,
se pot cere date de intrare). Unele din aceste comenzi sunt inspirate din limbajul de programare
BASIC (BASIC este un acronim pentru Beginners All-purpose Symbolic Instruction Code).
Este un lucru obinuit s asociezi unui macro o apsare de tast sau apsarea unui buton grafic
astfel nct s poat fi executat o aciune.
Limbajul macro din OpenOffice.org este foarte flexibil, permind automatizarea nu numai a
soluiilor simple, ct i a celor complexe. Dei poate fi instructiv s scriei macro-uri i s
nvai despre modul n care lucreaz OOo, aceasta s-ar putea s nu fie cea mai eficient
metod de a v folosi timpul. Macro este n mod special folositor cnd trebuie s afcei acelai
lucru de (foarte) multe ori, sau cnd dorii s apsai o singur tast pentru a efectua o
operaiune care implic mai muli pasi. S-ar putea ca din cnd n cnd s dorii s scriei
macro-uri care s efectueze lucruri pe care altfel nu le puteti efectua n OOo prin sistemul de
funcii deja scrise i meniurile oferite, dar nainte ar fi bine s cercetai cu atenie dac OOo nu
v ofer deja acea facilitate. De exemplui, adeseori se cere, pe lista de email a proiectului
OOo, includerea unui macro care s nlture din text, n Writer, paragrafele goale, vide.
Aceast facilitate este ns deja oferit de funcia AutoFormat (selectai Unelte > AutoCorrect
> categoria Opiuni, Tools > AutoCorrect > Options tab). Este posibil s folosii expresii
regulate pentru a cuta i nlocui spaierile inutile. Aadar, macro-urile au un scop, iar pentru
alte aspecte ce exced acestui scop sunt soluii dedicate. Acest capitol i propune s v
pregteasc pentru situaiile cnd va trebui s alegei macro-urile.
Not

OpenOffice.org este prescurtat OOo. OpenOffice.org Basic este n mod similar


prescurtat OOo Basic. Pentru traducerea "macro", am preferat s pstrm cuvntul,
cel puin la singular, i n limba romn, deoarece paronimul "macrou" (ro) folosit n
alte traduceri nu are nici o legtura de sens cu "macro" (en).

Limbajul macro OpenOffice.org este bazat pe limbajul de programare BASIC. OOo Basic
interpreteaz i execut cte o linie o dat. Aceste linii (de program) sunt organizate n rutine,
numite i proceduri, reunite pe baza scopului: mpreun fac ceva anume. De exemplu, o rutin
poate terge antetul dintr-un fiier i s introduc n loc antetul dumneavoastr. n OOo,
rutinele care sunt grupate dpv. logic sunt stocate n module. De exemplu, ntr-un modul se pot
stoca rutinele care gsesc i corecteaz erorile comune din text. Modulele se grupeaza n
biblioteci, iar bibliotecile sunt stocate n containerele de biblioteci. Containere de biblioteci pot
fi chiar OOo, dar i orice document OOo. Mai simplu zis, programele OOo i oricare
document OOo pot conine biblioteci, module i macro-uri.
Not

Un dialog este o fereastr ce apare pe ecran de obicei pentru a v cere s introducei


date sau s va informeze despre ceva. Dialogurile de obicei dispar dup ce ai
introdus datele sau dup ce ai luat la cunotin mesajul transmis. Dialogurile create
de utilizator sunt stocate n bibliotecile de dialoguri similar cu bibliotecile de macro-

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Limbajul macro din


OpenOffice.org

uri. Fiecare bibliotec poate conine mai multe dialoguri. Containerele de biblioteci
pot nmagazina att biblioteci de macro-uri ct i biblioteci de dialoguri. Citii
capitolul 17, Dialogs and Controls n OpenOffice.org Macros Explained ca s
aflai mai multe despre dialoguri.

Stocarea unui macro ntr-o bibliotec dintr-un


document
Fiecare document OpenOffice.org este un container de biblioteci capabil s stocheze macro-uri
i dialoguri. Cnd un document conine macro-urile folosite, posesia documentului nseamn i
posesia macro-urilor respective. Aceasta este foarte convenabil pentru distribuie ca i pentru
stocare, deoarece o data ce ai trimis destinatarului documentul acesta are disponibile i macrourile.
Metoda tradiional de a prezenta un limbaj de programare este de scrie un program care
afieaz mesajul Hello World (Salut Lume!). Exist site-uri Web dedicate programelor care
afieaz "Hello World" n ct mai multe limbaje de programare (de exemplu, vedei
http://www2.latech.edu/~acm/HelloWorld.shtml). n spiritul acestei tradiii, primul nostru
macro este o variaie a Hello World.

Pasul 1. Crearea unei biblioteci


Toate documentele OOo, indiferent de tipul specific al documentului, pot sa conin macro-uri.
Pentru a aduga un macro unui document OOo trebuie s deschidei documentul pentru
editare. ncepeti prin a crea un document nou de tip text (dac nu este deschis nici un alt
document, probabil va fi denumit Untitled1). Cnd se creaz documentul, OOo creaz n el o
bibliotec vid numit Standard. Biblioteca Standard va rmne vid pn cnd vei crea
(manual) un nou modul. Folosii dialogul Macro pentru a administra modulelele i bibliotecile:
selectai Unelte > Macro-uri > Administrare macro-uri > OpenOffice.org Basic (Tools >
Macros > Organize Macros > OpenOffice.org Basic) (vedei Imaginea 1).
Lista Macro from arat containerele de biblioteci disponibile; aceastea includ toate
documentele deschise i macro-urile distribuite cu OOo. Macro-urile dumneavoastr personale,
denumite My Macros n Imaginea 1, sunt de obicei stocate n directorul dumneavoastr
personal. Macro-urile incluse n OOo (OpenOffice.org Macros) sunt de obicei stocate n
directoare separate n cadrul instalrii OOo. Dei macro-urile dumneavoastr personale sunt
stocate i afiate separat de cele incluse n OOo, ambele sunt considerate ca parte a
bibliotecilor aplicaiei OOo. Containerele de biblioteci din document sunt afiate
(individualizate) folosind numele documentului. Majoritatea containerelor au deja inclus o
biblioteca numit Standard. Dai dublu clic pe pictograma unei biblioteci dintr-un container
pentru a afia (sau a ascunde) bibliotecile coninute. Similar, dai dublu clic pe o bibliotec
pentru a afia sau a ascunde modulele coninute.
Not

nainte de versiunea 2.0, OOo afia My Macros i OpenOffice.org Macros n


aceeai list. Noile dialoguri sunt mai intuitive dar au aspect i funcionalitate

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

similare. A fost adugat suport pentru a edita i rula programe scrise n alte limbaje
dect OOo Basic; de exemplu vedei Unelte > Macro-uri > Administrare macrouuri > JavaScript (Tools > Macros > Organize Macros > JavaScript).

Imaginea 1. Folosii dialogul Macro pentru a crea noi macro-uri i pentru a administra
bibliotecile.
Biblioteca Standard din documentele nou create a fost creat, la rndul ei, n mod automat o
dat cu documentul. Dar documentul nu conine dup creare nici un modul, iar macrou-urile
sunt stocate n module. Dei putei da clic pe butonul Nou (New) pentru a crea un modul, nu o
facei; scopul acestei seciuni este de a crea o nou bibliotec.
PONT

Nu stocai macro-urile dumneavoastr n biblioteca Standard. Creai o bibliotec nou


cu o denumire sugestiv special pentru ele, deoarece cnd este adugat o bibliotec
aceasta va suprascrie biblioteca cu acelai nume existent n document. Dac v vei
denumi toate bibliotecile Standard nu vei mai putea s adugai biblioteci dintr-un
document n altul.

Dai clic pe butonul Administrare (Organizer) pentru a deschide dialogul Administrare


macro-uri (Macro Organizer) (vedei Imaginea 2). n dialogul Macro sunt listate toate
containerele de biblioteci. n imaginea 2, biblioteca Standard este marcat n documentul
Untitled1; derulai lista dac este necesar pentru a gsi Untitled1. Dialogul Administrare
macro-uri este unul cu categorii, iar categoria selectat este Module (Modules). Dup cum v
sugereaz i numele, categoria Module(s) se refer la module. n dialog sunt mai multe
elemente, dup cum urmeaz:

Butonul Nou modul (New Module) creeaz un nou modul n biblioteca selectat.

Butonul terge (Delete) terge modulul selectat; este disponibil doar dac este selectat
un modul.

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Butonul Edit(are) deschide modulul selectat pentru editare n IDE; este disponibil doar
dac este selectat un modul.

Butonul nchide (Close) nchide dialogul Administrare macro-uri.

Imaginea 2. Folosii dialogul Administrare macro-uri pentru administrarea acestora.


Scopul acestei seciuni este de a crea o bibliotec cu un nume sugestiv care s fie stocat n
documentul Untitled1. Dai clic pe categoria Biblioteci (Libraries) pentru a vedea opiunile
privitoare la acestea (vedei imaginea 3).

Imaginea 3. Folosii dialogul Administrare macro-uri pentru a administra


bibliotecile.
Cnd este afiat aceast categorie sunt selectate ca locaie containerele incluse n aplicaie(My
Macros & Dialogs). Selectai documentul Untitled1 pentru ca modificrile s le efectuai
asupra documentului n lucru, Untitled1. Butoanele afiate n cadrul categoriei Biblioteci
afecteaz bibliotecile, nu modulele. Iat descrierea lor:

Butonul Nou (New) creaz o nou bibliotec n document selectat sau n aplicaie.

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Butonul Parol (Password) v permite s stabilii o parol (sau s o modificai) pentru


accesul la biblioteca selectat. Nu putei parola biblioteca standard.

Butonul terge (Delete) terge biblioteca selectatat; este disponibil doar dac este
selectat o bibliotec.

Butonul Adaug (Append) v ofer un mecanism de a copia o bibliotec dintr-un alt


container de biblioteci (document sau aplicaie) n containerul de biblioteci selectat n
lista Aplicaie/ Document (Application/ Document). Administrarea bibliotecilor este
discutat mai jos n acest capitol.

Butonul Edit(are) deschide biblioteca selectat pentru editare n IDE..

Butonul nchide (Close) nchide dialogul Administrare macro-uri.

Dai clic pe butonul Nou (New) pentru a crea o bibliotec nou (vedei imaginea 4). Dei
numele implicit este Library1, este mai bine s alegeti dumneavoastr un nume sugestiv (de
exemplu, PrimaMeaBibliotec sau BibliotecTest. Apsai OK pentru a o crea.

Imaginea 4. Alegei un nume sugestiv pentru bibliotec.


Administrare macro-uri va conine acum biblioteca nou-creat n lista bibliotecilor (vedei
Imaginea 5).

Imaginea 5. Documentul conine acum biblioteca intitulat TestLibrary.

Pasul 2. Crearea unui modul


Macro-urile sunt stocate n module, astfel ncqt urmtorul pas este s creem un modul n nou
creata bibliotec. Presupunnd c administrare macro-uri (vedei Imaginea 3) este nc deschis,
selectai categoria Module(s) (vedei Imaginea 6).

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Imaginea 6. Biblioteca TestLibrary conine un modul denumit Module1.


Nou creata bibliotec TestLibrary este acum afiat n Administrare macro-uri. Selectai
TestLibrary sau orice alt modul coninut n acea bibliotec i apoi apsai butonul Nou modul
(New Module) pentru a crea un nou modul (vedei Imaginea 7). Numele implicit este
Module1; alegei un nume mai sugestiv pentru modul i apsai OK pentru a-l crea.

Imaginea 7. Alegei un nume sugestiv pentru modul.


PONT

Folosii nume de module sugestive pentru a preveni confuziile. Aceasta este important
cnd avei mai multe module.

O greeal des ntlnit este s selectai un alt container de biblioteci fie n dialogul macro fie
n Administrare macro-uri. Cea mai des ntlnit greeal este s selectai o bibliotec dintr-un
container din aplicaie (My Macros & Dialogs) n loc de cea dintr-un anumit document. Gsii
numele documentului n list. Numele documentului este determinat de titlul specificat n
caracteristicile documentului (Properties). Folosii Fiier > Caracteristici (File > Properties)
pentru a deschide dialogul Caracteristici. Titlul este specificat n categoria Descriere
(Description). Dac nu este specificat nici un titlu va fi folosit numele fiierului.
Not

Dou documente cu acelai titlu vor apare cu acelai nume n dialogul Macro,
dialogul Administrare macro-uri i vor avea acelai titlu de fereastr. Aceasta va crea
confuzii, astfel nct ncercai s o evitai.

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Pasul 3. Introducerea primului macro propriu


Dac dialogul Administrare macro-uri (Macro Organizer) este nc deschis, putei selecta
modulul nou creat i s apsai butonul Edit(are). Aceasta va porni Basic IDE (adic interfaa
de programare n Basic).
O alt opiune este s folosii dialogul Macro. Dac dialogul Administrare macro-uri (Macro
Organizer) este nc deschis, apsai butonul nchide (Close) pentru a deschide dialogul
Macro. Dac Administrare macro-uri nu este deschis, selectai Unelte > Macro-uri >
Administrare macro-uri > OpenOffice.org Basic (Tools > Macros > Organize Macros >
OpenOffice.org Basic) pentru a deschide dialogul Macro (vedei Imaginea 8).

Imaginea 8. Selectai un anumit macro.


Iat i o descriere a butoanelor din dialogul Macro:

Butonul Execut (Run) execut macro-ul selectat. Macroul este selectat n lista din
dreapta, numele su apare i n cmpul din stnga-sus denumit "Nume macro" (Macro
name).

Butonul nchide (Close) nchide dialogul Macro.

Butonul Asociaz (Assign) asociaz un macro unui anumit eveniment. Aceast asociere
este discutat mai trziu.

Butonul Edit(are) deschide mediul integrat de editare (IDE) i editeaz macro-ul


selectat.

Butonul terge (Delete) terge macro-ul specificat. Acest buton este disponibil numai
dac este selectat un macro. Dac n lista "Macro din" (Macro from) selectai o
bibliotec sau un document, butonul terge (Delete) se schimb n Nou (New). Butonul
Nou (New) creaz un nou macro n biblioteca selectat.

Butonul Administrare (Organizer) deschide dialogul Administrare macro-uri (Macro


Organizer).

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Butonul Ajutor (Help) deschide programul de ajutorare.

Scopul dialogului Macro este s editai macro-uri individuale. Selectai MyFirstModule i


apsai butonul Edit(are) pentru a deschide Basic IDE (vedei Imaginea 9). O subrutin fr
instruciuni, numit Main, este creat n mod automat o dat cu modulul. IDE-ul artat n
Imaginea 9 a fost deschis dnd clic pe MyFirstModule i apoi pe butonul Edit(are). V rog s
introducei codul artat n Listarea 1.

Imaginea 9. Dezvoltarea macro-urilor n IDE.


Listarea 1. Programul Hello World se afl n fiierul SC01.sxw.

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Sub main
HelloWorld2()
End Sub
Sub HelloWorld1
Print "Hello World One"
End Sub
Sub HelloWorld2
Print "Hello World Two"
End Sub
IDE-ul conine un panou cu unelte pentru Macro i un panou cu funcii specifice, artate n
Imaginea 9. (Majoritatea pictogramelor de pe panoul Macro sunt identificate n Imaginea 13).
inei cursorul mausului deasupra unei pictograme pentru 2 secunde pentru a citi textul scurt
de ajutor care apare; este o indicaie despre menirea pictogramei.
Apsai pictograma Compileaz (Compile) pentru a verifica eventualele greeli din textul
macro-ului. Nu este afiat nici un mesaj dac totul este n regul, fiind semnalate doar
eventualele erori (vedei Imaginea 10). Pictograma Compile compileaz numai modulul curent.

Imaginea 10. Apsai pictograma Compile(az) pentru a gsi greelile de sintax ca


de exemplu lipsa ghilimelelor.
Modificai codul din Listarea 1 pentru a simula o eroare. nlturai ghilimelele de la comanda
Print din HelloWorld1 (vedei Imaginea 10). Apoi apsai pictograma Compile(az). Un dialog
va afia mesajul erorii pentru prima greeal gsit. Mesajul de eroare din Imaginea 10 indic
faptul c trebuia s existe o ghilimea care nu a fost gsit. Prima ghilimea este marcat, iar o
sgeat roie indic linia n care a aprut eroarea. Apsai butonul OK pentru a nchide dialogul
de eroare, corectai adugnd ghilimeaua la sfritul rndului, i apoi recompilai codul.

Iniiere n limbajul macro

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Apsai pictograma Execut (Run) pentru a executa prima rutin din modulul curent. Nu este
necesar s apsai mai nti pe pictograma Compile(az), deoarece comanda Execut (Run)
compileaz n mod automat toate modulele din biblioteca curent. Apsnd pe Execut (Run)
vei rula numai prima rutin din modul. Pentru codul din Listarea 1, comanda Execut (Run)
va rula numai prima subrutin, cea numit main. Aceasta va apela subrutina HelloWorld2,
afind dialogul artat n Imaginea 11. Apsai OK pentru a nchide dialogul sau dai Anulare
(Cancel) pentru a opri executarea macro-ului.

Imaginea 11. Apsai OK pentru a nchide dialogul.


Pictograma Execut (Run) execut ntotdeauna primul macro din modulul curent. n
consecin, nu veti putea rula astfel HelloWorld1. Pentru a rula HelloWorld1, putei folosi una
dintre aceste metode:

Poziionai HelloWorld1 ca prima rutin din modul i apoi apsai pictograma Execut
(Run).

Modificai subrutina Main pentru a apela HelloWorld1 n loc de HelloWorld2.

Folosii dialogul Macro (artat n Imaginea 8) pentru a executa oricare dintre subrutinele
din modul.

Adugai n documentul OpenOffice.org un buton care s apeleze HelloWorld1. Aceast


metod este explicat mai jos.

Asociai un macro unei apsari de tast. Ca s facei aceasta, alegei Unelte >
Configurare (Tools > Configure) pentru a deschide dialogul de Configurare i apoi
selectai categoria Tastatur (Keyboard). Bibliotecile Macro sunt la finalul listei
Category. Acelai lucru l puteti face i apsnd Unelte > Macro-uri > Administrare
macro-uri >OpenOffice.org Basic (Tools > Macros > Organize Macros >
OpenOffice.org Basic), selectnd macro-ul dorit, i apoi apsnd butonul Asociaz
(Assign) pentru a deschid fereastra Configurare (Configuration). Categoriile diverse din
acest dialog v permit s asociai macro-ul pentru a fi executat ca opiune din sistemul
de meniuri, ca rezultat al apsarii unei taste, o pictogram dintr-un panou sau la un
eveniment generat de calculator.

Adugai o pictogram panoului cu unelte care va apela HelloWorld1.

Pentru a folosi dialogul Macro pentru a executa oricare dintre subrutinele dintr-un modul
urmai aceti pai:
1) Selectai Unelte > Macro-uri > Administrare Macro-uri > OpenOffice.org Basic
(Tools > Macros > Organize Macros > OpenOffice.org Basic) pentru a deschide
dialogul Macro (vedei Imaginea 8).
2) Gsii documentul care conine modulul n lista "Macro din" (Macro from).
3) Dai dublu clic pe o bibliotec pentru a comuta afiarea modulelor coninute.
Iniiere n limbajul macro

10

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

4) Selectai modulul pentru a afia subrutinele i funciile coninute n lista "Macro-urile


existente n: <numele modulului selectat>"(Existing macros in: <selected module
name>).
5) Selectai subrutina dorit sau funcia de executatde exemplu, HelloWorld1.
6) Apsai butonul Execut (Run) pentru a executa subrutina sau funcia.
PONT

Cnd dezvoltai o subrutin, plasai-o prima n modul astfel nct s o putei executa
rapid apsnd butonul Execut (Run). O alt soluie este s o apelai din prima
subrutin, aa cum se face n Listarea 1. Aceste soluii sunt mai rapide dect daca
folosii dialogul Macro.

Codul folosit n acest capitol este disponibil ntr-un document text OpenOffice.org numit
SC01.sxw. Descrcai-l i deschidei-l. Cnd un document ce conine macro-uri este deschis
OpenOffice.org va afia un avertisment (vedei Imaginea 12). Acest avertisment este menit a
preveni s executai accidental un macro ce conine virui. Dei putei executa manual orice
macro folosind dialogul Macro, butoanele din document care au asociate macro-uri nu vor
funciona. Apsai Execut (Run) pentru a activa butoanele respective din SC01.sxw.
PONT

Putei configura un document pentru a executa n mod automat un macro la ncarcarea


sa. Aceasta este i metoda folosit de virui pentru a se rspndi. Dac documentul nu
ar trebui s conin macro-uri alegei ntotdeauna Nu executa (Do Not Run). Aceasta
va preveni toate macro-urile de a fi executate automat la ncrcarea documentului.

Imaginea 12. Tocmai ai deschis un document OpenOffice.org care conine un macro.


SC01.sxw conine trei butoane: Main, Hello World 1 i Hello World 2. Fiecare buton este
configurat pentru a executa rutina corespunztoare numelui cnd este apsat. Butoanele nu vor
face ns nimic dac apsai Nu executa (Do Not Run) cnd ncrcai documentul.

Iniiere n limbajul macro

11

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-un document

Este posibil s adugati un director la lista "locaii sigure" (secure paths). Dac suntei sigur
c un director conine documente ce nu sunt virusate atunci adugai-l la aceast list. Folosii
Unelte > Opiuni > OpenOffice.org > Securitate > Securitate macro-uri > Surse sigure
(Tools > Options > OpenOffice.org > Security > Macro Security > Trusted Sources) i
adugai directoarele. Toate documentele ncrcate dintr-o locaie "sigur" vor fi considerate
sigure iar macro-urile vor fi rulate ntotdeauna.

Stocarea unui macro ntr-o bibliotec dintr-o


aplicaie
Chiar aplicaia OpenOffice.org este un container de biblioteci. Este aadar un loc excelent de a
stoca cod i dialogul folosite n mod comun n documente. Controlul versiunilor este uurat
dac macro-urile sunt stocate ntr-un singur loc. Dac acelai macro este coninut n 5
documente, nu numai c va ocupa loc de stocare suplimentar, dar dac dorii s l modificati va
trebui s o facei n toate cele 5 documente.
Pentru a stoca un macro n bibliotecile dintr-o aplicaie folosii aceleai metode ca pentru
documente. Containerul din aplicaie folosete dou denumiri, My Macros (Macro-urile
mele) i OpenOffice.org Macros (Macro-urile OOo). Aplicaia OOo include mai multe
biblioteci stocate ca OpenOffice.org Macros. Folosii dialogul Administrare macro-uri
(Macro Organizer) din Imaginea 3 pentru a aduga biblioteci noi.
Atenie

Dezinstalarea OpenOffice.org poate s antreneze tergerea bibliotecilor stocate la


nivelul aplicaiei, astfel nct ar trebui ntotdeauna s pstrai o copie de siguran a
acestora. Reinstalarea sau actualizarea cu o versiune nou a OpenOffice.org poate de
asemenea suprascrie bibliotecile aplicaiei. Salvai aceste biblioteci o dat cu
documentele.
Adesea, bibliotecile vor exista, dar coninutul lor va fi pierdut deoarece calea ctre
biblioteci va fi modificat o dat cu (re)instalarea, ns n acest caz este posibil s
recuperai coninutul acestora indicnd calea ctre biblioteci aa cum era nainte.
Pentru mai multe informaii, vedei seciunea "Administrarea bibliotecilor" mai jos n
acest capitol.

Fiecare bibliotec de aplicaie este stocat n propriul su director. Pentru a afla unde salveaz
OpenOffice.org aceste biblioteci selectai Unelte > Opiuni (Tools > Options). n dialogul
Opiuni (Options), expandai ramura OpenOffice.org n meniul arborescent i selectai Ci
(Paths). Intrarea Basic v arat localizarea bibliotecilor externe.

Iniiere n limbajul macro

12

CIORN bazat pe software nefinalizat

Stocarea unui macro ntr-o


bibliotec dintr-o aplicaie

Facei o copie a bibliotecilor coninute la nivelul aplicaiei OOo nainte de a instala o noua
versiune. Dac vei instala OOo n acelai loc, atunci va suprascrie fiierele de configurare i
nu va mai corespunde calea ctre aceste biblioteci. De obicei, bibliotecile nu sunt afectate, dar
OOo nu va mai ti unde s le caute. Pentru a refolosi aceste biblioteci, indiferent unde se afl,
folosii categoria Biblioteci (Libraries) din dialogul Administrare macro-uri (Macro Organizer)
(vedei Imaginea 3). Verificai c My Macros este selectat n lista Aplicaii/Documente
(Application/Document) i apoi apsai butonul Adaug (Append). Alegei directorul care
conine bibliotecile dorite. Selectai fiierul script.xlb i apsai Deschide (Open). Facei
aceasta pentru fiecare bibliotec pe care dorii s o restabilii. Aceast metod poate fi folosit
i pentru a aduga bibliotecile stocate n documente.
PONT

Nu folosii biblioteca Standard dac este posibil s dorii la un moment dat s


adugai biblioteca n alta parte. n schimb, stocai-v modulele n biblioteci proprii,
separate, cu nume sugestive. Biblioteca Standard este una special i nu o putei
terge sau suprascrie.

Pentru a exersa adugarea unui macro n biblioteca de la nivelul aplicaiei OOo, deschideti
dialogul Administrare macro-uri. Verificai containerul curent s fie My Macros. Apsai
butonul Modul nou (New Module) pentru a aduga noi module n bibliotecile de la nivelul
aplicaiei OOo. Pentru a aduga noi biblioteci selectai categoria Biblioteci (Libraries).
Verificai c My Macros este selectat n lista Aplicaii/Documente (Application/Document),i
apoi apsai butonul Nou (New).
Bibliotecile stocate n documente pot fi adugate n containerul de biblioteci de la nivelul
aplicaiei. Cnd adugai o bibliotec se va suprascrie biblioteca cu acelai nume deja
existent, astfel nct este recomandat s v creai propriile biblioteci cu deumiri sugestive
pentru a pstra propriile macro-uri. Aceasta va preveni probleme aprute la mutarea macrourilor dintr-un container n altul.

Mediul de dezvoltare integrat (IDE)


Mediul de dezvoltare integrat (IDE) este de fapt un set de unelte de programare menite s
faciliteze crearea i scrierea de software. OpenOffice.org include un IDE performant, uneltele
disponibile rulnd, editnd i detectnd erorile din codul scris de dumneavoastr (macro-uri),
aa ca merit s petrecei un timp pentru a deveni familar cu acesta. Imaginea 13 arat IDE-ul
cu numeroase comentarii despre pictograme i zonele ferestrei. Zona central unde apare codul
macro-ului n lucru este fereastra editorului. Multe dintre facilitai, cum sunt Stop, Punct de
control (Breakpoint), Pas cu pas (Single Step) i Panoul supraveghere (Watch pane) servesc ca
un depanator ( debugger, n.t. unealta pentru identificat erorile) simplu si eficient pentru codul
macro.
Aceast seciune v ofer o privire de ansamblu a funciilor standard ale IDE-ului. Nu fii
contrariai de faptul c nu vei reui s nelegeti totul din prima. V vei familiariza cu acestea
pe msur ce vei lucra exemplele. Primul set de funcii sunt folosite la depanarea codului iar
cele descrise la finalul acestei seciuni se refer la administrarea obiectelor n macro-uri,
biblioteci i documente. Acum ns voi descrie funciile asociate butoanelor grafice.

Iniiere n limbajul macro

13

CIORN bazat pe software nefinalizat

Mediul de dezvoltare integrat


(IDE)

Butonul Compile(az) compileaz si verific sintaxa codului numai din modulul curent.
Butonul Compile(az) este util dac nu dorii s rulai macro-ul ns vrei s vedei ca nu sunt
erori de sintax. Sunt afiate mesaje doar n cazul n care sunt gsite erori (vedei Imaginea
10). Cnd este gsit o eroare apare un dialog care o indic. O sgeat n coloana Punct de
control (Breakpoint) va marca linia unde a aprut eroarea iar poriunea din cod care a cauzat
eroarea este colorat. Apsai butonul OK pentru a nchide dialogul ce semnaleaz eroarea.
Not

Compilare nseamn traducerea codului din limbajul macro din OOo n cod
executabil direct de calculator.

Butonul Execut (Run) compileaz toate modulele din biblioteca curent i apoi execut
prima subrutin sau funcie din modulul curent. Difer fa de butonul Compile(az), care
compileaz numai modulul curent.
Activare punct Administrare
Catalog obiecte Selectare macro Selectare modul
control
puncte control

Coloana puncte
de control

Eliminare
fereastra
supraveghere
Fereastra
supraveghere

Compilare
Lansare Basic
Oprire macro
Procedura la pas
Un singur pas
Pas inapoi
Panou
supraveghere

Activare panou
supraveghere
Gsire paranteze
Elemente control
Inserare surs
Basic
Salvare Basic
Stiv apeluri

Imaginea 13. OpenOffice.org include un IDE performant.


Butonul Stop Macro servete la oprirea rulrii unui macro. Cnd l apsai macro-ul este oprit
definitiv, nu vei putea relua excutarea lui din punctul n care rmsese. Acest duton este
disponibil numai cnd se execut un macro i arat ca un semn "Stop" de circulaie auto.

Iniiere n limbajul macro

14

CIORN bazat pe software nefinalizat

Mediul de dezvoltare integrat


(IDE)

Butonul Procedur la pas (Procedure Step) execut numai instruciunea curent din
procedura (rutina) curent. Dac nici un macro nu se execut, atunci prima rutin din primul
modul este pornit iar prima sa instruciune va constitui instruciunea curent. Instruciunea
curent este indicat de o sgeat n coloana Punct de control (Breakpoint) iar cursorul este
mutat la acea linie. Dac ns un macro se executa deja, atunci este executat instruciunea
curent iar urmtoarea instruciune este marcat ca i curent. Butonul Procedura la pas
(Procedure Step) privete apelurile ctre alte subrutine ca o singura instruciune i nu le excut
tot la pas, ci dintr-o dat. Observai c pictograma reprezint o sgeat care sare peste acolade,
acoladele reprezentnd o subrutin sau un apel de funcie.
Butonul Pas cu pas (Single Step) execut instruciunea curent. Se comport la fel ca
Procedur la pas (Procedure Step) cu excepia c subrutinele i funciile nu sunt tratate ca o
singur instruciune, ci se va urmri executarea lor n mod similar. Observati deasemenea
simbolul pictogramei, i anume sgeata care intr n interiorul acoladelor.
Butonul Pas napoi (Step Back) execut toate instruciunile pn la sfritul subrutinei curente
i apoi iese din aceasta. Cu alte cuvinte nu mai trebuie s apsai Procedur la pas (Procedure
Step) pn cnd ajungei la ultima instruciune din subrutin (End Sub sau End Function) i
apoi nc o dat, pentru a iei din subrutin. Dac din greeal apsai Pas cu pas (Single step)
n loc de Procedur la pas (Procedure Step) putei s apsai o singur dat Pas napoi (Step
Back). Observai desenul pictogramei, i anume o sgeat care iese dintre acolade.
Butonul Comut punct de control (Breakpoint On/Off) fixeaz un punct de control la
instruciunea unde se afl cursorul, iar n coloana Punct de comtrol (Breakpoint) va fi afiat un
semn rou de stop. Dai dublu clic n coloana Punct de comtrol (Breakpoint) pentru a comuta
punctul de control de la acea instruciune. Dai clic dreapta n coloana Breakpoint pentru a-l
activa sau dezactiva.
Butonul Administrare puncte de control (Manage Breakpoints) afieaz dialogul
Administrare puncte de control (Manage Breakpoints) (vedei Imaginea 14).

Imaginea 14. Editai i configurai punctele de control manual.


Butonul Supravegheaz (Enable Watch) consider cuvntul curent (cel n care se afl
cursorul) ca fiind o variabil i l adaug n Panoul supraveghere (Watch pane).

Iniiere n limbajul macro

15

CIORN bazat pe software nefinalizat

Mediul de dezvoltare integrat


(IDE)

Butonul Catalogul de obiecte (Object Catalog) deschide fereastra Obiecte (Objects) (vedei
Imaginea 15), unde putei inspecta toate containerele de biblioteci disponibile, aflnd ce
biblioteci, subrutine i module sunt disponibile. Dai dublu clic pe o subrutin pentru a o
ncrca n IDE. Aceast funcionalitate este similar cu a Navigatorului din documentele OOo
Writer. Pentru ca modulele dintr-un fiier s apar n Catalogul de obiecte acesta (fiierul)
trebuie mai nti salvat.
PONT

Lasai deschis fereastra Obiecte i folosii-o ca un navigator pentru a regsi rapid


modulele, bibliotecile sau subrutinele, chiar i n cadrul aceluiai modul.

Imaginea 15. Putei inspecta bibliotecile i modulele disponibile n fereastra Obiecte.


Butonul Select(are) Macro ncarc dialogul Macro. Selectarea Unelte > Macro-uri >
Administrare macro-uri > OpenOffice.org Basic (Tools > Macros > Organize Macros >
OpenOffice.org Basic) ncarc deasemenea dialogul Macro.
Butonul Select(are) Module ncarc dialogul Administrare macro (Macro Organizer). Acest
buton grafic are acelai efect cu a apsa butonul Administrare (Organizer) n dialogul Macro
(vedei Imaginea 2 i Imaginea 3).
Selectai sau poziionai cursorul la stnga unei paranteze i apoi apsai butonul Gsete
parantezele (Find Parentheses) pentru a identifica perechile de paranteze. Cnd IDE-ul va
gsi paranteza corespondent va selecta parantezele i tot ce cuprind ele.
Pentru a deschide fereastra Controale (Controls) apsai butonul Controale (Controls) n timp
ce editati un dialog. (Pentru mai multe informaii despre controale citii capitolul 17, Dialogs
and Controls, al crii OpenOffice.org Macros Explained)
Pentru a crea un dialog pentru editare, apsai butonul ncarc modul (Load Module) pentru
a deschide dialogul Administrare macro-uri (Macro Organizer). Selectai categoria Dialog i
apsai butonul Dialog nou (New Dialog) pentru a crea un nou dialog. Vedei capitolul 17,
Dialogs and Controls din OpenOffice.org Macros Explained pentru mai multe informaii
despre crearea i utilizarea dialogurilor n macro-uri.

Iniiere n limbajul macro

16

CIORN bazat pe software nefinalizat

Mediul de dezvoltare integrat


(IDE)

Ultimele doua butoane, Insereaz cod surs Basic (Insert Basic Source) i Salveaz Basic
(Save Basic), sunt folosite pentru a insera n modulul curent text stocat ntr-un fiier extern i
respectiv pentru a salva textul programului din modulul curent ntr-un fisier extern. Aceasta
este o metod excelent pentru a face o copie de siguran sau pentru a trimite cu usurin unei
alte persoane codul scris de dumneavoastr. Aciunile sunt diferite de cele efectuate de butonul
grafic Disk, care este folosit pentru a salva ntreaga bibliotec sau tot documentul care conine
modulul.

Folosirea Punctelor de control (breakpoints)


Putei opri rularea unui macro la un punct anume din codul sau surs stabilind acolo un punct
de control. Vei putea astfel s inspectai variabilele, s reluai executarea macro-ului sau s
executai macro-ul n continuare n modul pas cu pas. Dac macro-ul nu funcioneaz si vrei
s vedei de ce atunci l putei executa pas cu pas (se execut cte o instruciune o dat) i
astfel s-l supravegheai n timp ce ruleaz, realiznd cauza erorii. ns daca sunt executate
foarte multe instruciuni nainte de se executa codul problematic este mult mai fezabil s
stabilii un punct de control la nceputul secvenei de cod care nu funcioneaz corespunztor.
Programul se va opri din execuie i putei executa pas cu pas i supraveghea algoritmul.
Butonul Comut punct de control (Breakpoint On/Off) stabilete un punct de control la
instruciunea unde se afl cursorul. Un semn rou de stop n coloana Punct de control
(Breakpoint) marcheaz linia respectiv. Pentru a stabili un punct de control putei i s dai un
dublu clic n aceasta coloan, iar pentru a comuta starea de activat / dezactivat a punctului de
control este suficient s i dai clic dreapta.
Butonul Administrare puncte de control (Manage Breakpoints) ncarc dialogul
Administrare puncte de control (Manage Breakpoints) (vedei Imaginea 14). Toate punctele de
control active vor apare n lista din partea de jos a dialogului. Pentru a aduga un punct
introducei numrul liniei n cqmpul din partea de sus a dialogului i apoi apsai butonul Nou
(New). Pentru a sterge un punct selectai punctul n list i apoi apsai butonul terge
(Delete). Debifai csua Activ(e) pentru a dezactiva punctul corespunztor fr a-l terge.
Parametrul Contor de trecere (Pass Count) indic numrul de treceri prin punctul respectiv
pentru ca s fie activat. Dac de exemplu acesta este patru (4), atunci a patra oar cnd se
ajunge la instruciunea respectiv execuia este oprit. Aceasta este util atunci cnd eroarea
apare de abia dup mai multe rulri.
Sunt dou situaii n care un punct de control (breakpoint) va fi ignorat: fie contorul de treceri
este nenul, fie punctul este setat ca inactiv n dialogul Administrare puncte de control (Manage
Breakpoints). Fiecare punct are asociat un contor care este decrementat atunci cnd se ajunge la
instruciune (i nainte de a o executa). Cnd rezultatul decrementrii este zero punctul va
deveni activ i va rmne astfel. inei minte c acest contor nu va fi reiniializat cu valoarea
original cnd macro-ul este terminat sau restartat.

Iniiere n limbajul macro

17

CIORN bazat pe software nefinalizat

Mediul de dezvoltare integrat


(IDE)

Este simplu de monitorizat valorile luate de variabilele din program pe parcursul executrii
unei rutine. Poziionai cursorul lng sau ntre caracterele oricrui cuvnt din fereastra
Edit(are) i apsai butonul Supravegheaz (Enable Watch) pentru a aduga cuvntul respectiv
n Panoul supraveghere (Watch pane). Panoul afieaz valorile luate de variabilele aa-numite
vizibile, adic cele care pot fi accesate de instruciunea curent. Textul "ne-vizibil" (<Out of
Scope>) este afiat pentru variabilele care exist, dar nu pot fi accesate. Alt metod de a
aduga variabile n Panoul de supraveghere este de a tasta numele variabilei n fereastra
Supraveghere i de a apsa Enter. Pentru a terge numele din Panou, selectai-l n Panou sau
tastai-i numele n fereastra Supraveghere i apoi apsai butonul Ignor (Remove Watch).
Dai clic pe un nume n Panou pentru a-l afia n fereastra Supraveghere. n OOo 2.0 au fost
adugate noi faciliti fereastrei Supraveghere, ca de exemplu s urmrii variabile matriciale
sau obiecte; poate fi impresionant.
Not

O variabil care este accesibil se numete i vizibil. De exemplu, dac variabila "j"
este definit n rutina HelloWorld1 nu va fi vizibil i n HelloWorld2. Aceasta va fi
discutat mai trziu.

Administrarea bibliotecilor
Aceast seciune trateaz crearea, transferul i redenumirea modulelor i a bibliotecilor. Pentru
a nelege administrarea bibliotecilor este necesar s v reamintii cteva noiuni de baz:

Un container de biblioteci conine zero sau mai multe biblioteci.

Fiecare bibliotec conine zero sau mai multe module i dialoguri.

Fiecare modul conine zero sau mai multe macro-uri.

Aplicaia este un container de biblioteci denumit My Macros i OpenOffice.org


Macros. Bibliotecile stocate n aplicaie sunt disponibile pentru toate macro-urile.

Fiecare document este un container de biblioteci.

Biblioteca denumit Standard este special; exist ntotdeauna i nu poate fi suprascris.


V recomand s nu folosii biblioteca Standard.

Denumii n mod sugestiv bibliotecile i modulele pe care le creai. De exemplu,


Biblioteca1 i Modulul4 nu sunt sugestive, pe cnd AXONFacturFormular1 este ceva
mai descriptiv.

Cum sunt stocate bibliotecile


Bibliotecile OpenOffice.org sunt stocate ca fiiere n format XML, fiind astfel uor editabile
folosind orice editor de texte. Pe de alt parte, este uor pentru dumneavoastr s v jucai cu
ele i s le stricai. Dei editarea acestor fiiere din alte editoare dect IDE din OOo este o
greeal, m-am ntlnit cu o situaie n care a fost necesar deoarece din cauza unei erori de
sintax OOo nu putea s ncarce un modul.

Iniiere n limbajul macro

18

CIORN bazat pe software nefinalizat


PONT

Administrarea bibliotecilor

Editarea manual a fiierelor OOo este pentru utilizatorii avansai. Dac suntei
nceptor v rugm s trecei peste aceast seciune.

Bibliotecile la nivel de aplicaie


Fiecare astfel de bibliotec este stocat ntr-un singur director, iar fiecare modul i dialog este
coninut ntr-un singur fiier. Dialogul Opiuni (Unelte > Opiuni > OpenOffice.org > Ci,
Tools > Options > OpenOffice.org > Paths) cuprinde o intrare ce indic localizarea
bibliotecilor. Bibliotecile globale furnizate o dat cu OOo sunt stocate ntr-un director comun
la locul de instalare al OOo. Exemple:
C:\Program Files\OpenOffice.1.1.1\share\basic

'Instalare pe Windows

/usr/local/OpenOffice.org1.1.1/share/basic

'Instalare pe Linux

Bibliotecile proprii dumneavoastr sunt stocate n alte directoare. Pe calculatorul meu cu


Windows am o instalare monopost (pentru un singur utilizator) iar pe calculatorul meu cu
Linux am o instalare de reea pentru mai muli utilizatori. Opiunile pe care le exprimai n
timpul instalrii OOo afecteaz localizarea bibliotecilor personale. Iat dou exemple:
C:\Program Files\OpenOffice.1.1.1\user\basic
utilizatorului pe Windows

'Fi ierele

/home/andy/OpenOffice.org1.1.1/user/basic
utilizatorului pe Linux

'Fi ierele

n directorul comun gsim cte un fiier pentru fiecare bibliotec la nivel de aplicaie care este
furnizat o dat cu OOo. Directorul utilizatorului este ns mult mai interesant (vedei Tabelul
1).
Tabelul 1. Fiierele i cteva directoare n directorul meu personal.
Intrare

Descriere

dialog.xlc

Fiier XML care cuprinde informaii despre fiecare fiier de dialoguri


accesibile acestui utilizator n OpenOffice.org.

script.xlc

Fiier XML care cuprinde informaii despre fiecare bibliotec


accesibil acestui utilizator n OpenOffice.org.

Standard

Director ce conine biblioteca Standard.

Pitonyak

Director ce conine o bibliotec cu codul creat de mine.

PitonyakDialogs

Director ce conine o bibliotec cu nite cod i un dialog (create tot de


mine).

Not

Tabelul 1 cuprinde directoarele Pitonyak i PitonyakDialogs. Biblioteca Pitonyak i


biblioteca PitonyakDialogs nu au nimic n comun; numele lor sunt similare pentru ca
eram n pan de inspiraie. S nuv gndii cumva c PitonyakDialogs conine

Iniiere n limbajul macro

19

CIORN bazat pe software nefinalizat

Administrarea bibliotecilor

dialogurile pentru biblioteca Pitonyak.

Fiierele dialog.xlc i script.xlc conin o referin ctre toate dialogurile i bibliotecile care sunt
cunoscute OOo. Bibliotecile afiate n diverse meniurica de exemplu n dialogul Macro i n
dialogul Administrare macro-uri (Macro Organizer) (vedei Imaginea 16)sunt obinute din
fiierele dialog.xlc i script.xlc. Dac aceste dou fiiere sunt suprascrise OOo nu va mai ti de
bibliotecile dumneavoastr chiar dac ele vor exista n continuare.

Imaginea 16. Dialogul Macro i dialogul Administrare macro-uri (Macro Organizer) unde sunt
afiate bibliotecile i modulele disponibile.
Dialogul Administrare macro-uri (Macro Organizer) arat c biblioteca PitonyakDialogs
conine un dialog; selectai categoria Module(s) pentru a vedea modulele. Tabelul 2 conine
lista fiierelor din directorul PitonyakDialogs. Observai c fiecrui modul i dialog dintr-o
bibliotec i corespunde un fiier.
Tabelul 2. Fiierele din directorul bibliotecii PitonyakDialogs.
Fiier

Descriere

dialog.xlb

Indic dialogurile coninute n aceasta bibliotec.

script.xlb

Indic modulele coninute n aceasta bibliotec.

Module1.xba

Cod BASIC n modulul denumit Module1.

SimpleObjectBrowserCode.xba

Cod BASIC n modulul denumit SimpleObjectBrowserCode.

SimpleObjectBrowser.xdl

Un dialog n modulul denumit SimpleObjectBrowser.

Fiierele dialog.xlc i script.xlc din Tabelul 1 indic fiierele dialog.xlb i script.xlb din
Tabelul 2. n general, nici unul dintre aceste fiiere nu este permis s fie modificat de mn,
aceast posibilitate fiind indicat s o exercitai doar dac apar erori.

Iniiere n limbajul macro

20

CIORN bazat pe software nefinalizat

Administrarea bibliotecilor

Bibliotecile la nivel de document


Un document OpenOffice.org, salvat pe discul calculatorului, este stocat n formatul ZIP
standard. Orice program care poate manipula arhive ZIP poate fi folosit pentru a inspecta un
document OOototui, s-ar putea sa fie nevoie s schimbati extensia documentului n ZIP
pentru a putea face aceasta.
Dup ce dezarhivai documentul OOo vei gsi fiierele n care se gsete coninutul propriuzis, stilurile i setrile. Exist de asemenea i trei directoare. Directorul META-INF conine
referine ctre toate celelalte fiiere, imagini incluse, biblioteci de cod i dialoguri. Directorul
Dialogs conine toate dialogurile incluse, iar directorul Basic conine toate bibliotecile incluse.
Observai c bibliotecile de la nivelul aplicaiei sunt stocate puin diferit dect cele incluse ntrun document.
Cu titlu de experiment, am luat un document care coninea numeroase controale care apelau o
anumit bibliotec. L-am dezarhivat i apoi am folosit un program de cutare de text pentru a
gsi toate apelurile ctre o bibliotec denumit CH03. Am schimbat apoi toate apariiile din
text ale CH03 n CH04, am arhivat napoi fiierele ntr-un document OOo, iar OOo a
ncrcat i a putut utiliza fiierul. Cu alte cuvinte am schimgat cu succes numele unei biblioteci
incluse n document i apelurile i referinele ctre ea prin editarea definiiilor XML. De
asemenea, dac dorii s nlocuii rapid toate apariiile unei imagini, putei s dezarhivai
documentul OOo, s suprascriei imaginea respectiv iar apoi s l rearhivai.
PONT

Scopul acestei seciuni este acela c, n situaii de urgen sau necesitate, putei edita
manual un document datorit codrii XML i s corectai erorile. Totui aceasta NU
este recomandat ca mod de editare al documentelor OOo.

Utilizarea Administrare macro-uri (Macro Organizer)


Administrare macro-uri (Macro Organizer) (Unelte > Macro-uri > Administrare macro-uri >
OpenOffice.org Basic > Administrare, Tools > Macros > Organize Macros >
OpenOffice.org Basic > Organizer) este suficient pentru a satisface majoritatea nevoilor
utilizatorilor cu privire la administrarea modulelor i a bibliotecilor. Categoria Module(s) din
dialogul Administrare macro-uri (vedei Imaginea 16) v ofer posibilitatea de a crea i de a
terge module. Dialogul Administrare macro-uri are i o categorie Biblioteci (Libraries) (vedei
Imaginea 17) de unde se pot crea i sterge biblioteci. Categoria Biblioteci conine n partea de
sus o list derulant de unde se poate selecta containerul de biblioteci. Cu alte cuvinte, putei
selecta unul dintre documentele deschise sau bibliotecile de la nivelul aplicaiei.

Iniiere n limbajul macro

21

CIORN bazat pe software nefinalizat

Administrarea bibliotecilor

Imaginea 17. Folosii Administrare macro-uri (Macro Organizer) pentru a crea,


aduga i a sterge bibliotecile.
Not

Numele unui document este i numele fiierului care l conine, cu excepia cnd ai
introdus un titlu pentru document din dialogul Caracteristici (Properties) (Fiier >
Caracteristici > Descriere, File > Properties > Description). Dac ai stabilit un
titlu (Title) va fi folosit ca numele documentului n bara de titlu a ferestrei
documentului, n dialogul Macro i n dialogul Administrare macro-uri (Macro
Organizer).

Redenumirea modulelor i a bibliotecilor


Putei schimba denumirea unui modul sau a unei biblioteci din dialogul Administrare macrouri (Macro Organizer). Numele modulelor sunt schimbate din categoria Module(s) iar numele
bibliotecilor din categoria Biblioteci (Libraries). Cnd redenumii o bibliotec sau un modul nu
se va schimba ns nici o referin dintre cele existente ctre macro-urile coninute n respectva
bibliotec sau modul. E ca i cum a scrie numrul dumneavoastr de telefon n agenda mea.
Dac l schimbai, aceasta nu nseamn ca se va schimba i n agenda mea. Aa c, cine
apeleaz un macro?

Cnd ntr-un document sau ntr-un dialog sunt incluse controale, acestea de obicei
folosesc macro-uri pentru a efectua aciunile.

Macro-urile apeleaz dialogurile care sunt coninute n biblioteci.

Macro-urile pot fi apelate de programe separate fa de OpenOffice.org.

Atenie

Cnd redenumii un modul sau o bibliotec, referinele ctre macro-urile ce le conin


nu sunt actualizate.

Iniiere n limbajul macro

22

CIORN bazat pe software nefinalizat

Redenumirea modulelor i a
bibliotecilor

Aceasta nu nseamn ca redenumirea bibliotecilor sau modulelor este contraindicat; trebuie


doar s inei cont c referinele nu vor fi actualizate. Dac nu ai creat nici un fel de referin
catre codul scris de dumneavoastr sunteti liberi s le redenumii dup cum dorii, Putei
redenumi bibliotecile i modulele folosind Administrare macro-uri (Macro Organizer);
procedura este aceeai pentru ambele tipuri:
1) Gsii biblioteca sau modulul n categoria corespunztoare din Administrare macro-uri
(Macro Organizer) (vedei Imaginea 16 i Imaginea 17).
2) Selectai biblioteca sau modulul.
3) Ateptai un moment i dai clic pe bibliotec sau modul. Ar trebui s apar un cursor
pentru a edita numele. Mi s-a ntmplat s trebuiasc s dau mai multe clic-uri pn
cnd programul s in cont de dorina mea. S nu dati ns dublu clic, deoarece aceasta
ca duce la deschiderea bibliotecii sau modulului pentru editare.
4) Tastai noul nume i apsai tasta Enter.
Am avut un document foarte mare i care coninea numeroase butoane. Butoanele apelau
macrouri dintr-o bibliotec, al crei nume a trebuit s l schimb. Din pcate, dup ce am
redenumit-o, butoanele ncercau s apeleze cu referin veche, ctre numele original, care nu
mai exista. ntr-un acces de ndrzneal, am dezarhivat documentul OOo cu un utilitar ZIP i
am folosit un editor text pentru a nlocui n fiecare fiier numele vechi cu cel nou. Dup ce am
terminat i am arhivat la loc, am obinut un document n care erau actualizate toate referinele.
Atenie

Pstrai ntotdeauna o copie de fiierului original cnd editai manual documentele


OOo, deoarece editarea manual este predispus greelilor i se poate ca OOo s nu
mai poat ncrca sau folosi documentul astfel modificat.

Adugarea bibliotecilor
Butonul Adugare (Append) (vedei Imaginea 17) din dialogul Administrare macro-uri
(Macro Organizer) deschide dialogul Adugare biblioteci (Append Libraries), care este de fapt
un dialog pentru selectarea fiierelor, i anume a acelor fiiere care conin bibliotecile pe care
dorii s le adugai. Pentru a aduga o bibliotec dintr-un document ncepei prin a selecta
documentul. Butonul Deschide (Open) din dialogul Adugare biblioteci deschide un alt dialog
intitulat Adugare biblioteci, de unde alegeti biblioteca dorit (vedeti Imaginea 18). Folosii
dialogul de selectare a bibliotecii pentru a vizualiza bibliotecile coninute n documentul
selectat i pentru a selecta bibliotecile pe care dorii s le adugai.

Iniiere n limbajul macro

23

CIORN bazat pe software nefinalizat

Adugarea bibliotecilor

Imaginea 18. Folosii dialogul Adugare biblioteci (Append Libraries) pentru a


selecta bibliotecile dorite.
Dialogul de selectare a bibliotecilor din Imaginea 18 v permite s adugati orice biblioteci
dorii. Dac deja exist o bibliotec cu acel nume aceasta nu va fi suprascris, cu excepia cnd
bifai csua "Suprascrie bibliotecile existente" (Replace existing libraries). Csua
"Insereaz o referin" (Insert as reference) devine disponibil numai atunci cnd adugati
biblioteci care nu sunt coninute ntr-un document. Apsai OK pentru a aduga bibliotecile
selectate.
PONT

Nu este posibil s suprascriei biblioteca Standard. Nu este recomandabil s folosii


aceast bibliotec deoarece nu o putei aduga unui alt document sau aplicaiei.

Bibliotecile care nu sunt coninute n documente sunt stocate n dorectoare individuale. Pentru
a aduga o astfel de bibliotec trebuie s deschidei dialogul de selectare de fiiere Adugare
biblioteci (Append Libraries) (vedei Imaginea 19) i s selectai directorul care conine
fisierele bibliotecii respective. Nu conteaz unde sunt acestea, pot fi pe discul fix ca i pe
dischet sau n directoarele vechii instalri a versiunii OOo precedente. Cnd instalez o noua
versiune de OpenOffice.org obinuiesc s adaug bibliotecile din vechea instalare.
Cnd adugai o bibliotec ce nu este coninut ntr-un document sunt listate, n directorul
corespunztor, dou fiiere: dialog.xlb i script.xlb (vedei Tabelul 2 i Imaginea 19). Ambele
fiierele sunt necesare i sunt adugate ambele indiferent pe care dintre ele l selectai. Adica
puteti selecta fie dialog.xlb fie script.xlb; ambele vor fi adugate.

Iniiere n limbajul macro

24

CIORN bazat pe software nefinalizat

Adugarea bibliotecilor

Imaginea 19. Nu conteaz care fiier selectai, deoarece vor fi adugate ambele.
PONT

Cnd instalez o noua versiune de OpenOffice.org obinuiesc s adaug bibliotecile din


vechea instalare. De asemenea, instalez i pe celelalte calculatoare pe care lucrez
bibliotecile pe care le creez i folosesc.

Capitoul 16, Library Management, din OpenOffice.org Macros Explained conine informaii
i exemple de manipulare i accesare a bibliotecilor folosind limbajul OOo Basic.

Concluzie
Macro-urile sunt stocate n module, modulele n biblioteci, iar bibliotecile n containerele de
biblioteci. Aplicaia OOo este un astfel de container, ca de altfel orice document OOo. IDE-ul
este folosit pentru a crea macro-uri i dialoguri i pentru a le depana.
Tocmai ai terminat unul dintre cei mai dificili pai n scrierea macro-urilor pentru
OpenOffice.org: scrierea primului dumneavoastr macro! Simii-v gata de a explora,
ncercai i alte macro-uri i creai cteva i dumneavoastr.

Iniiere n limbajul macro

25

S-ar putea să vă placă și