Libreoffice calc makro failide rühma ümbernimetamine. VBA makrode kirjutamine LibreOffice'is. Makro loomine LibreOffice'is


Liides

kuid erineb põhimõtteliselt Microsoft Office Excel 2010-st.

MS Excel 2010-l on nn "menüüriba" - Microsofti revolutsiooniline lahendus, mis võeti kasutusele MS Office 2007-s, mis paljudele ei meeldinud ja töötati välja isegi spetsiaalsed utiliidid, mis tagastavad MS Office 2010 välimuse MS Office 2003-le.

Vaatleme üksikasjalikumalt ülaltoodud tabeliredaktorite kõige olulisemaid menüüelemente.

Tabeliredaktorites (MS Excel, OOo Calc, LiO Calc, IBM Lotus Symphony Spreadsheets jne) on kõige olulisem element "lahter" ja kõik tabeliredaktorites tehtavad toimingud kehtivad konkreetselt lahtritele või nende rühmadele (read, veerud, jne.). Seetõttu käsitleme kõigepealt lahtri vormindamisega seotud menüüelemente.

LiO Office'is, nagu ka MS Office 2003-s, vormindatakse lahtrid menüükäsuga "Format / Cells" või vajutades klahvikombinatsiooni "Ctrl + 1".

MS Excel 2010-s tehakse lahtrite vormindamine vahekaardil "Kodu".

Muud MS Excel 2010 menüüelemendid (Insert, Page Layout, Formulas, Data, Review jne) LiO Calcis asuvad sarnastes menüüpunktides.

Tabelite tähtsuselt järgmine element on "Funktsioonid" või need on ka "Valemid".

MS Excelis ja LiO Calcis on kõikide valemite nimetused (lühendid) sarnased, seega ei ole MS Excelis töötavate spetsialistide jaoks üleminek MS Excelilt LiO Calcile keeruline Üsna üksikasjalik funktsioonide loend ja nende vastavus MS Excelis ja OOo Calc (LiO Calc), mis on avaldatud Vene Föderatsiooni OpenOffice.org-il põhineva lahenduste juhtiva integraatori Infra-Resource veebisaidil. Aga siin on ka "lõkse"... Need on kiirklahvid. Neil, kes on harjunud MS Excelis kiirklahvide abil töötama, võivad tekkida teatud probleemid, kuid nii tavakasutajate kui ka organisatsioonide jaoks võib tõsiasi, et üks MS Exceli eksemplar võib säästa vähemalt 55 dollarit, olla üsna tugev stiimul LiO-le üleminekuks. .


Ühilduvus

Üks suurimaid valupunkte MS Excelilt LiO Calcile üleminekul on ühilduvusprobleemid ja suurimaks probleemiks makrodega töötamine. See probleem oli eriti terav OpenOffice.org 1 ja 2 versioonide puhul, kuna OpenOffice.org ja LibreOffice 3. versiooni puhul on see probleem praktiliselt lahendatud. LibreOffice Calc 3.5 suudab käitada enamikku MS Exceli makrosid. See funktsioon on lubatud / keelatud menüüs: Tööriistad > Valikud > Laadi / Salvesta > VBA atribuudid

LiO Calcis on VBA analoogiks StarBasicu makrokeel (selle variant on LibreOffice Basic), mis kasutab sama programmeerimisloogikat nagu Microsoft Visual Basic, nii et MS Excelis makrodega töötanud spetsialistidel pole harjumine keeruline. et LiO Calc.

VBA analoog LiO Calcis on StarBasicu makrokeel.

Probleemid on aga endiselt alles. Fakt on see, et makrode kirjutamise keskkond on kontorikomplekt, mitte makrokeel. Seega ei ole programmeerimiskeel iseseisev keskkond, vaid täielikult sõltuv kontorikomplekti sisemisest objektstruktuurist ja selles realiseeritud käsukõnede süsteemist. Tulemuseks on tehniline võimatus tagada erinevate kontorikomplektide makrokeelte täielik ühilduvus. Seetõttu peate Microsoft Office'i makrod enne OpenOffice.org-is või LibreOffice'is käivitamist ümber kirjutama. Lisaks, et mitte laskuda kõigisse tehnilistesse üksikasjadesse, ütlen, et on olemas konverteriprogramme, mis lihtsustavad oluliselt tööd VBA makrodega LibreOffice'is. Samuti on kõiki võimalikke küsimusi OpenOffice'i keskkonnas VBA makrodega töötamise kohta väga üksikasjalikult käsitletud Infra-Resource ettevõtte veebisaidil (vt ülalt) jaotistes "Teadmistebaas" ja "OpenOffice.org kasutajatugi" .

Noh, et kõike ülaltoodut tugevdada, kontrollime praktikas MS Exceli ja LiO Calci dokumentide ühilduvust. Selleks võtame ajakirja "Pearaamatupidaja" saidilt raamatupidamisdokumentide valmis mallid, mis on koostatud MS Excel 97-2003 (XLS laiendus) ja MS Excel 2010 (XLSX laiendus) abil ning mis kasutavad suur hulk matemaatilisi ja majanduslikke funktsioone. Failidega töötamise (avamine, redigeerimine, salvestamine, ODS-i teisendamine) tulemusena märgati järgmist mustrit: reeglina tekkisid makrode lubamisel tõrked MS Excel 98-2003 (.xls) vormingus salvestatud failiversioonides. . MS Excelis 2007–2010 loodud versioonides esineb vigu palju harvemini.

MS Excelis makrosid kasutamata loodud failid avatakse, loetakse, redigeeritakse jne. üldse ilma probleemideta. XLSX-ist ODS-i ja vastupidi teisendamine toimub samuti vigadeta, säilitades samas teksti vormindamise valikud.

MS Excelis makrosid kasutamata loodud failid avatakse, loetakse, redigeeritakse jne. üldse ilma probleemideta.


järeldused

Seega võime teha järgmised järeldused.

Mis puudutab LibreOffice Calci liidest, siis varem MS Excel 98-2003-ga töötanud kasutajatel ei tohiks Calcile üleminekuga probleeme tekkida ning need, kes on harjunud töötama MS Excel 2007-2010 "lindi" liidesega, peavad sellega harjuma. natuke teist tüüpi tööaken.

LiO Calci andmeid sisestatakse, redigeeritakse, sorteeritakse samamoodi nagu MS Excelis. Arvutused tehakse LiO Calcis, kasutades samu funktsioone nagu MS Excelis.

Mis puutub makrodega töötamise raskustesse, siis tuleb märkida, et LiO Calc ja OOo Calc versioonides üle 3.0 on see probleem praktiliselt lahendatud ning vigade ilmnemisel on võimalik VBA makrod teisendada LibreOffice Basicuks.

Sergei RYŽKOV

Praeguse seisuga haldab LibreOffice makrosid liidese ühes kohas.

Probleemid, nagu ma neid näen, on järgmised:

Menüüs Tööriistad->Makrod->Makrode haldamine on saadaval NELI erinevat makrohaldusdialoogi, iga saadaoleva keele jaoks eraldi. Basic, JavaScript, BeanShell ja Python. Ja nad on kõik erinevad.

Lisaks ei võimalda Basicu dialoog makrode haldamist. Põhimakrode haldamiseks peate avama eraldi täiendava dialoogi.

Nupp Redigeerimine kõigis dialoogides võimaldab redigeerida makrot ennast, mitte aga teegi/mooduli/dialoogi nime/positsiooni.

Teen ettepaneku kaotada kogu see häbi ja teha ÜKS dialoog makrode haldamiseks ja makrode käitamiseks.

Siin on midagi sellist (tegin seda inglise keeles, sest bugzillas saavad KÕIK aru, millest ja miks see on):

Dialoogi vasakpoolses osas haldame teeke/mooduleid/dialooge ning teame ka importi/eksporti. Ja paremal pool töötame otse makrodega: käivitame, määrame sündmustele makrosid ja vajadusel muudame neid.

Programmeerimiskeele järgi eraldamist pole vaja, kuna LibreOffice ise eristab, millises programmeerimiskeeles teekides makrod on kirjutatud ja nagu ma aru saan, ei võimalda see Pythoni moodulit Basic teegist käivitada. See tähendab, et minu dialoogi versioonis peate sundima LibreOffice'i erinevatel PL-idel olevaid teeke/mooduleid ikoonidega esile tõstma ja need kõik asuvad lihtsalt hierarhiliselt samas puus.

On veel üks asi: LibreOffice'i praeguses versioonis on Pythonis makrodega töötamiseks vaja välist laiendust APSO . Ilma selleta pole isegi võimalik vastavat raamatukogu luua. Miks seda tehakse, ma ei saa päris täpselt aru, samuti ei saa ma aru, miks see laiendus ei sisaldu LibreOffice'i baasjaotuses, kuna põhifunktsioonid lihtsalt ei tööta.

Seega tuleb makrohalduse dialoogi ümbertöötamisel arvestada ka selle kummalise faktiga.

Olen kasutanud Linuxi umbes 10 aastat. Umbes 5 aastat tagasi hakkasin kasutama OpenOffice'i komplekti ja 3 aastat tagasi hakkasin kasutama LibreOffice'i. Minu üllatuseks ja isegi häbiks pole mul Calci jaoks ühtegi makrot kirjutatud. Kuid Exceli jaoks on neid selle aja jooksul kogunenud piisavalt, alates lihtsatest vormidest ja valemitest kuni võimsate lisandmooduliteni ettevõtetele, mis automatiseerivad teabe ettevalmistamist. Täna andsin endale tõotuse, et hakkan tasapisi paketti ja selle võimalusi uurima, milles veedan päris palju aega.


Enamiku inimeste jaoks on makro midagi arusaamatut ja võib-olla tarbetu leiutis. Nende jaoks see mitte ainult ei optimeeri tööd, vaid ka suurendab seda. See arvamus on põhjustatud makrode kasutamise põhimõtete valesti mõistmisest. Makrosid kasutatakse siis, kui peate mõnda toimingut tegema mitu korda. Enamasti on see sama tüüpi dokumentide töötlemine (keeruline vormindamine, valikud), mõnikord täidetavad vormid, valemid, graafikute arvutused... Selle ja oma eelistuste põhjal valime oma makrode salvestamise viisi:

  • globaalne(või lisandmoodul) - programmi avamisel alati saadaval;
  • valemiline- saadaval konkreetse malli avamisel;
  • kohalik- saadaval ainult konkreetse dokumendiga töötamisel.

Viimast kasutatakse harvemini, enamasti väga keerulistes interaktiivsetes dokumentides.
Tänapäeval kasutavad kontorikomplekte (ei ole vahet LibreOffice'is või MS Office'is), kuna need on "kastist väljas" ainult väikesed ettevõtted, kelle töötajatel pole IT-spetsialiste. Enamasti on kontorikomplekt vaid baas, millele lisandmoodulid juurutatakse ning ettevõtte töötaja ei aimagi sageli, kui palju väikseid, kuid väga mugavaid asju on tema jaoks tehtud, kuni ta lahkub või kolib teine ​​ettevõte.


Excelis makrode kirjutamise õppimisel on soovitatav alustada makrode salvestamise tööriistaga. Tõepoolest, toiminguid üles kirjutades piisab, kui kujutada ette keele pinnataset ja API-d, mida edaspidi kasutama pead. Mõnikord tundub, et lihtsa makro kiireks loomiseks "viskate selle üles kirjutades" ja lihvite seda, tuues selle koodiredaktoris meelde.

Makro salvestamise tööriista ühendamine LibreOffice'is 4.1

LibreOffice 4.1-s on vaikimisi " Makro salvestamine» keelatud. Seetõttu on esimene asi, mida teha, lubada: TeenindusParameetrid (TööriistadValikud) laiendage LibreOffice'i rühma ja lõigu allosas " Laiendatud võimalused» (« Täpsemalt) märkige ruut vastu " Luba makrosalvestus (piiratud)» (« Luba makrosalvestus (piiratud)»).

Pärast seda oma menüüs: Teenindus → Makrod (Tööriistad → Makrod) menüüelement " Makro salvestamine» (« Makro salvestamine»).

Makro salvestamise tööriista kasutamine LibreOffice 4.1-s

Tööriista demonstreerimiseks " Makro salvestamine Võtame lihtsa näite:
1. Avage uus Calci dokument ja salvestage see kettale teile sobiva nime all;
2. Valige lahter A1;
3. Lubage makrosalvestus Tööriistad → Makrod → "Makro salvestamine" (Tööriistad → Makrod → "Makro salvestamine"). Ilmub paneel ühe nupuga " Lõpeta salvestamine» (« Lõpeta salvestamine»);
5. Valige lahter B1 ja vajuta " Lõpeta salvestamine» (« Lõpeta salvestamine»);
6. Avaneb järgmine aken:

Teeme ainult selles dokumendis juurdepääsuga makro, seetõttu avame üksuse dokumendi nimega (mul on article.ods, teil on see nimega, mille alla dokumendi salvestasite) ja valime ainsa raamatukogu kohal standard. Selles pole veel mooduleid, nii et loome selle.
7. Vajutage nuppu « Loo moodul» (« Uus moodul”) ja sisestage avanevas aknas mooduli nimi.

Vaikimisi luuakse moodul tühja makroga, mida nimetatakse Peamine. Sisestage väljale " Makro nimi» (« makro nimi") soovitud nimi, mille ma sisestasin" Peamine) ja vajutage " põletada» (« Salvesta”) salvestatud makro salvestamiseks. Minu puhul ilmub hoiatus, et selline makro nimi on juba olemas.

Makro salvestatakse ja kui me nüüd dokumendi salvestame, siis makro koos sellega salvestatakse. Nii et iga kord, kui selle dokumendi avame, saame seda makrot kasutada.

LibreOffice 4.1 makro käitamine ja redigeerimine

LibreOffice 4.1-s on makro käivitamiseks kaks võimalust.
Esiteks avage aken Käivitage makro»: Tööriistad → Makrod → "Käivita makro"(Tööriistad → Makrod → "Käivita makro..."), tõstke esile soovitud makro ja klõpsake " Jookse».

Kutse vastu võetud. :)

Tere petturid!
Täna tahan teile rääkida makrode kasutamisest libreoffice.

Eessõna
Iga päev kodus ja tööl kasutame mis tahes ülesannete täitmiseks kontorirakendusi. Tihti juhtub, et olete spetsialiseerunud ühele tööle ja lõpetate samu ülesandeid: sisestate sama teksti, vormindate seda suure hulga kiirklahvide abil. Kõigil neil juhtudel saate oma väärtuslikku tööaega säästa, automatiseerides osa oma tööst.
Hiljem artiklis räägin teile makrode kasutamisest libreoffice.

Mis on makrod ja miks need on?

Makro on teatud toimingute jada, mida saab tavamenüü abil salvestada. Kui valite makro salvestamise, salvestatakse teie sooritatavad toimingud automaatselt skriptikoodina. Ja teie edasises töös tehakse seda juba iseseisvalt, korrates täpselt teie tegevusi programmis. Makro võib olla nii lihtne kui ka väga keeruline – kõik sõltub sellest, mida tulemuse saavutamiseks vajate. Makrode põhikriteeriumiks on see, et need oleksid võimsad ja samal ajal hõlpsasti kasutatavad. LibreOffice'i makrod vastavad täpselt neile nõuetele. Proovime seda praktikas.

Paketi kasutamiseks libreoffice, Teil peab olema eelinstallitud Linux, Windows või MacOS operatsioonisüsteem, samuti installitud LibreOffice'i pakett (selle saate installida nt ppa hoidlatest, nagu teemas kirjeldatud)

Makrohaldus

Enne oma makro loomise alustamist peame tutvuma makrohaldustööriistaga. Läheme mööda rada Tööriistad – Makrod – Korralda makrosid – LibreOffice’i põhimakrod(Tööriistad – makrod – makrohaldus – LibreOffice’i põhimakrod):

Akna vasakpoolses veerus näeme vaikimisi installitud makrode loendit. Klõpsates ükskõik millisel neist, saate seda muuta või kustutada.
Peaakna ülesanne- valige vajalik makro, määrake sellele tööriistaribal nupp või seostage see mõne sündmusega. Nupu määramine makrole võimaldab teil kiiresti käivitada kõige sagedamini kasutatavad nupud.

Tahan märkida, et makro loomine automaatrežiimis (salvestus) nõuab makro kirjutamiskeele vähemalt natuke teadmisi, kuna mõnikord peame seda redigeerima. Selleks, et näha, kuidas makro välja näeb, valige vajalik makro ja vajutage Muuda(Muuda). Allpool on näide sellest, kuidas makro lähtekoodis välja näeb.

Võtame lihtsa näite. Meil on osa teksti juba dokumenti sisestatud ja peame sellele pealkirja tegema, kuna meie teksti kasutatakse ärikirjavahetuses.
Meie tulevane makro peab suutma:
- asetage tekst lehe ülaserva keskele;
- sisestage pealkirjana kasutatav tekst.
Pärast makro loomist määrame sellele tööriistaribal nupu. Pärast seda piisab pealkirja sisestamiseks dokumenti ühest hiireklõpsust.
Jälgime toimingute jada.

Samm 1.
Avage tekstidokument. liigume edasi Tööriistad – makrod – makro salvestamine. Ilmub väike makro salvestamise aken koos ühe nupuga Lõpeta makro ( Lõpeta salvestamine):

2. samm
Loome tekstile pealkirja. Klõpsake nuppu Keskjoondus("Keskeldatud"), et meie tulevane tekst oleks täpselt dokumendi keskel. Nüüd kirjutame pealkirja teksti ise. Selle jaoks pole vaja erinevaid formaate seada (font või paks/kaldkiri/allakriips), sest makro ei mäleta selliseid toiminguid.

3. samm
Pärast pealkirja loomist klõpsake makro salvestamise aknas nuppu Lõpeta makro. Kohe ilmub makrokorraldaja aken. Andke uuele makrole nimi (näiteks PostHead). Nüüd saate selle salvestada soovitud kohta (näiteks kausta " Minu makro").

4. samm
Nüüd peame lisama makro tööriistariba nupu postipea. See protsess pole nii lihtne, kui esmapilgul võib tunduda.
Avame LibreOffice'i põhimakrod, vajuta nuppu " Määra"(Määra). Ilmub järgmine aken Kohanda, milles peaksime minema vahekaardile Tööriistaribad ja veenduge, et väli "Tööriistariba" on seatud väärtusele "Standardne" ( standard) .

Klõpsake selles aknas nuppu Lisa Lisama). Ilmub teine ​​aken - "Lisa käsud" ( Lisage käske).
Vasakpoolses aknas "Kategooriad" ( Kategooria) leia " LibreOffice'i makrod" (loendi allosas). Avage see ja minge meie makro juurde. Kui see on leitud, jääb üle teha viimane ja kõige lihtsam samm. Lohistage kirjaplangi makro hiirega tööriistaribal sellesse kohta, kuhu soovite Vaata seda.
Kõik said ülesandega hakkama.
Nüüd on meil vaja ainult nuppu kasutada postipea, mille oleme paneelile lisanud. Näiteks avage uus dokument ja klõpsake nuppu postipea. Meie makro loob pealkirja täpselt selle tekstiga, mille me sellele "määrasime", ja asetab selle dokumendi ülaossa täpselt keskele.
Kas see on tõesti mugav?

Tulemus
Muidugi lõime minu näites väga lihtsa makro. Kuid ülalkirjeldatud tööriistade abil saate luua ka väga keerulisi makrosid. Ja mitte ainult sees Kirjanik, aga ka kõigis teistes paketi rakendustes libreoffice(Arvutustabel, esitlused jne). Nüüd, kui teate, kuidas makrosid luua, saate oma töö hõlbustamiseks hõlpsasti ise luua.
Selle artikli eesmärk on õppida makrosalvestusvahendiga töötamise põhitõdesid.

Ma avaldan kõik materjalid kahes vormingus - odt ja pdf. Viimast on mugav levitada. Ekspordi asukohta pdf teostatakse LibreOffice'i tavaliste vahenditega dialoogi kaudu " Fail → Ekspordi PDF-vormingusse". Kasutusjuhendi korrektuuri ja vigade parandamise käigus tuleb sageli dokument uuesti salvestada. Ja et mitte iga kord dokumenti käsitsi eksportida, mõtlesin, et oleks tore, kui see salvestamisel automaatselt juhtuks odf faili. Ja LibreOffice'i makrokeele tundmine pole sel juhul absoluutselt vajalik.

Probleem lahendatakse makrosalvestuse funktsiooni abil. See pole vaikimisi saadaval. Selle lubamiseks minge aadressile Teenus → Valikud"Peatükis" libreoffice» vali « Laiendatud võimalused ja märkige ruut valiku ' kõrval Luba makrosalvestus».

Pärast LibreOffice'i taaskäivitamist vahekaardil " Teenindus → Makrod»kaup « Makro salvestamine».

Pärast vajutamist " Tööriistad → Makrod → Makro salvestamine» Ekraanile ilmub aken nupuga « Lõpetage salvestamine».

Lõpptulemus on lihtne:

  1. Lülitage makrosalvestus sisse
  2. Salvestamise ajal tehke nõutav toiming. Minu puhul ekspordisin lihtsalt PDF-i kaudu " Fail → Ekspordi PDF-vormingusse»
  3. Klõpsake nuppu Lõpetage salvestamine»
See on kõik, PDF-i ekspordimakro salvestatakse, jääb üle vaid see salvestada.

Mugavuse huvides lõin mooduli " Ekspordi_PDF-i"raamatukogus" standard ja salvestasin sellesse moodulisse minu makro.

Nüüd jääb üle vaid määrata makro konkreetsele sündmusele. Meie puhul dokumendi salvestamiseks. Ma lähen " Teenus → Seaded» vahekaardile « Sündmused».