Libreoffice calc makro omdøbe gruppe af filer. Skrivning af VBA-makroer i LibreOffice. Oprettelse af en makro i LibreOffice


Interface

men er fundamentalt forskellig fra Microsoft Office Excel 2010.

MS Excel 2010 har et såkaldt "menubånd" - en revolutionerende løsning fra Microsoft, introduceret i MS Office 2007, som mange ikke kunne lide, og der blev udviklet endda specielle hjælpeprogrammer, der returnerer udseendet af MS Office 2010 til MS Office 2003.

Lad os overveje mere detaljeret de vigtigste menupunkter i ovenstående regnearksredaktører.

I regnearkseditorer (MS Excel, OOo Calc, LiO Calc, IBM Lotus Symphony Spreadsheets osv.) er det vigtigste element "cellen", og alle handlinger, der udføres i regnearkseditorer, gælder specifikt for celler eller deres gruppe (rækker, kolonner, etc.). Derfor vil vi først og fremmest overveje menupunkterne relateret til celleformatering.

I LiO Office, som i MS Office 2003, formateres celler via menupunktet - "Format / Celler" eller ved at trykke på "Ctrl + 1" tastekombinationen.

I MS Excel 2010 udføres celleformatering på fanen "Hjem".

Andre menupunkter i MS Excel 2010 (Indsæt, Sidelayout, Formler, Data, Gennemgang osv.) i LiO Calc er placeret i lignende menupunkter.

Det næstvigtigste element i regneark er "Funktioner", eller de er også "Formler".

I MS Excel og LiO Calc er navnene (forkortelserne) på alle formler ens, så overgangen fra MS Excel til LiO Calc for specialister, der arbejder i MS Excel, vil ikke være vanskelig En ret detaljeret liste over funktioner og deres korrespondance i MS Excel og OOo Calc (LiO Calc) offentliggjort på hjemmesiden for Infra-Resource, en førende integrator af løsninger baseret på OpenOffice.org i Den Russiske Føderation. Men der er også "faldgruber" her... Det er genvejstaster. For dem, der er vant til at arbejde i MS Excel ved hjælp af genvejstaster, kan der opstå visse problemer, men for både almindelige brugere og organisationer kan det faktum, at en kopi af MS Excel kan spare mindst $ 55, tjene et ret stærkt incitament til at skifte til LiO .


Kompatibilitet

Et af de største smertepunkter ved migrering fra MS Excel til LiO Calc er kompatibilitetsproblemer, og det største problem er at arbejde med makroer. Dette problem var især akut for versioner af OpenOffice.org 1 og 2, da den 3. version i OpenOffice.org og LibreOffice er dette problem praktisk talt løst. LibreOffice Calc 3.5 kan køre de fleste MS Excel-makroer. Denne funktion er aktiveret/deaktiveret i menuen: Værktøjer > Indstillinger > Indlæs/Gem > VBA-egenskaber

En analog af VBA i LiO Calc er makrosproget StarBasic (dets variant er LibreOffice Basic), som bruger den samme programmeringslogik som Microsoft Visual Basic, så det vil ikke være svært for specialister, der har arbejdet med makroer i MS Excel at vænne sig til LiO Calc.

En analog af VBA i LiO Calc er StarBasic makrosproget.

Der er dog stadig problemer. Faktum er, at det miljø, hvor makroer er skrevet, er en kontorpakke, ikke et makrosprog. Programmeringssproget er således ikke et selvstændigt miljø, men fuldstændig afhængigt af den interne objektstruktur i kontorpakken og kommandoopkaldssystemet implementeret i den. Resultatet er en teknisk umulighed for at sikre fuld kompatibilitet af makrosprog i forskellige kontorpakker. Derfor skal du omskrive Microsoft Office-makroer, før du kører dem i OpenOffice.org eller LibreOffice. Yderligere, for ikke at gå ind i alle de tekniske detaljer, vil jeg sige, at der er konverterprogrammer, der i høj grad forenkler arbejdet med VBA-makroer i LibreOffice. Alle mulige spørgsmål om arbejde med VBA-makroer i OpenOffice-miljøet behandles også meget detaljeret på webstedet for Infra-Resource-virksomheden (se ovenfor) i afsnittene "Knowledge Base" og "OpenOffice.org User Support" .

Nå, for at styrke alt ovenstående, lad os i praksis kontrollere kompatibiliteten af ​​MS Excel- og LiO Calc-dokumenter. For at gøre dette tager vi færdige skabeloner af regnskabsbilag fra siden for magasinet "Chief Accountant", som er udarbejdet ved hjælp af MS Excel 97-2003 (XLS-udvidelse) og MS Excel 2010 (XLSX-udvidelse), og som bruger en et stort antal matematiske og økonomiske funktioner. Som et resultat af arbejdet med filer (åbning, redigering, lagring, konvertering til ODS) blev følgende mønster bemærket: som regel opstod der fejl ved aktivering af makroer i filversioner gemt i MS Excel 98-2003 (.xls)-formatet . I versioner oprettet i MS Excel 2007-2010 forekommer fejl meget sjældnere.

Filer oprettet i MS Excel uden brug af makroer åbnes, læses, redigeres osv. uden problemer overhovedet. Konvertering fra XLSX til ODS og omvendt udføres også uden fejl, mens tekstformateringsmulighederne bevares.

Filer oprettet i MS Excel uden brug af makroer åbnes, læses, redigeres osv. uden problemer overhovedet.


konklusioner

Derfor kan vi drage følgende konklusioner.

Hvad angår LibreOffice Calc-grænsefladen, bør brugere, der tidligere har arbejdet i MS Excel 98-2003, ikke have problemer med at skifte til Calc, og de, der er vant til at arbejde med "bånd"-grænsefladen i MS Excel 2007 - 2010, skal vænne sig til lidt en anden slags arbejdsvindue.

Data i LiO Calc indtastes, redigeres, sorteres på samme måde som i MS Excel. Beregninger foretages i LiO Calc med de samme funktioner som i MS Excel.

Hvad angår vanskelighederne ved at arbejde med makroer, skal det bemærkes, at i versioner af LiO Calc og OOo Calc over 3.0 er dette problem praktisk talt løst, og hvis der opstår fejl, er det muligt at konvertere VBA-makroer til LibreOffice Basic.

Sergei RYZHKOV

Lige nu administrerer LibreOffice makroer på et enkelt sted i grænsefladen.

Problemerne som jeg ser dem er:

Fra menuen Værktøjer->Makroer->Administrer makroer er FIRE forskellige makrostyringsdialoger tilgængelige for hvert tilgængeligt sprog separat. Basic, JavaScript, BeanShell og Python. Og de er alle forskellige.

Desuden tillader dialogen for Basic ikke håndtering af makroer. For rent faktisk at administrere de grundlæggende makroer skal du åbne en separat ekstra dialogboks.

Rediger-knappen i alle dialoger giver dig mulighed for at redigere selve makroen, og slet ikke navnet/positionen på biblioteket/modulet/dialogboksen.

Jeg foreslår at afskaffe al denne skændsel og lave EN dialog til at administrere makroer og køre makroer.

Her er noget som dette (jeg gjorde det på engelsk, for i bugzilla vil ALLE forstå, hvad det handler om og hvorfor):

I venstre del af dialogen administrerer vi biblioteker/moduler/dialoger og ved også, hvordan man importerer/eksporterer. Og på højre side arbejder vi direkte med makroer: vi starter, tildeler makroer til begivenheder og redigerer dem, hvis det er nødvendigt.

Der er ikke behov for adskillelse efter programmeringssprog, da LibreOffice selv skelner i hvilket programmeringssprog makroerne i bibliotekerne er skrevet og, som jeg forstår det, vil det ikke tillade Python-modulet at blive lanceret fra Basic-biblioteket. Det betyder, at du i min version af dialogen skal tvinge LibreOffice til at fremhæve biblioteker/moduler på forskellige PL'er med ikoner, og de vil simpelthen være hierarkisk i det samme træ.

Der er en ting mere: I den nuværende version af LibreOffice skal du bruge en ekstern udvidelse APSO for at arbejde med makroer i Python. Uden det vil det ikke engang være muligt at oprette det tilsvarende bibliotek. Hvorfor dette gøres, forstår jeg ikke helt, samt hvorfor denne udvidelse ikke er inkluderet i basisdistributionen af ​​LibreOffice, da den grundlæggende funktionalitet simpelthen ikke virker.

Så når du omarbejder makrostyringsdialogen, skal denne mærkelige kendsgerning også tages i betragtning.

Jeg har brugt Linux i omkring 10 år. For omkring 5 år siden begyndte jeg at bruge OpenOffice-pakken, og for 3 år siden begyndte jeg at bruge LibreOffice. Til min overraskelse, og endda skam, har jeg ikke skrevet nogen makroer til Calc. Men til Excel har de akkumuleret nok i løbet af denne tid, lige fra simple formularer og formler til kraftfulde tilføjelser til virksomheder, der automatiserer udarbejdelsen af ​​information. I dag aflagde jeg et løfte til mig selv om langsomt at begynde at studere pakken og dens muligheder, hvor jeg bruger ret meget tid.


For de fleste mennesker er en makro noget uforståeligt, og måske en unødvendig opfindelse. For dem optimerer det ikke kun arbejdet, men øger det også. Denne udtalelse er forårsaget af en misforståelse af principperne for brug af makroer. Makroer bruges, når du skal udføre en handling mange gange. Oftest er dette den samme type dokumentbehandling (kompleks formatering, valg), nogle gange formularer til at udfylde, formler, beregninger til grafer... Baseret på dette og vores præferencer vælger vi en måde at gemme vores makroer på:

  • global(eller tilføjelse) - altid tilgængelig, når du åbner programmet;
  • formel- tilgængelig ved åbning af en specifik skabelon;
  • lokal- tilgængelig, når du kun arbejder i et specifikt dokument.

Sidstnævnte bruges sjældnere, for det meste i meget komplekse interaktive dokumenter.
I dag er det kun små virksomheder, der ikke har it-specialister i deres personale, der bruger kontorpakker (det er lige meget LibreOffice eller MS Office), da de er "ud af boksen". I de fleste tilfælde er kontorpakken kun den base, som tilføjelserne er implementeret på, og medarbejderen i virksomheden har ofte ikke engang mistanke om, hvor mange små, men meget praktiske ting, der er blevet gjort for ham, indtil han stopper eller flytter til et andet firma.


At lære at skrive makroer i Excel anbefales at starte med Record Macro-værktøjet. Når du skriver handlingsstykkerne ned, er det faktisk nok bare at forestille dig overfladeniveauet af sproget og den API, som du skal bruge i fremtiden. Nogle gange er det også, for hurtigt at oprette en simpel makro, som om du "kaster den, mens du skriver den ned" og derefter polerer den og bringer den til at tænke på i kodeeditoren.

Tilslutning af Record Macro-værktøjet i LibreOffice 4.1

I LibreOffice 4.1 er "som standard" Optag makro" handicappet. Derfor er den første ting at gøre at aktivere det: ServiceParametre (VærktøjerMuligheder) udvide LibreOffice-gruppen og helt nederst i afsnittet " Udvidede muligheder» (« Fremskreden”) marker afkrydsningsfeltet ud for “ Aktiver makrooptagelse (begrænset)» (« Aktiver makrooptagelse (begrænset)»).

Derefter i din menu: Service → Makroer (Værktøjer → Makroer) menupunktet " Optag makro» (« Optag makro»).

Brug af værktøjet Record Macro i LibreOffice 4.1

For at demonstrere værktøjet " Makro optagelse Lad os tage et simpelt eksempel:
1. Åbn et nyt Calc-dokument og gem det på disken under et navn, der passer dig;
2. Vælg en celle A1;
3. Aktiver makrooptagelse Værktøjer → Makroer → "Optag makro" (Værktøjer → Makroer → "Optag makro"). Et panel vises med en enkelt knap " Afslut optagelsen» (« Stop optagelse»);
5. Vælg en celle B1 og tryk på " Afslut optagelsen» (« Stop optagelse»);
6. Følgende vindue åbnes:

Vi laver en makro med kun adgang i dette dokument, derfor vil vi åbne elementet med navnet på dokumentet (jeg har article.ods, du vil have det med det navn, som du gemte dokumentet under) og vælge den eneste bibliotek til stede standard. Der er ingen moduler i det endnu, så lad os oprette det.
7. Tryk på knappen « Opret modul» (« Nyt modul”), og indtast navnet på modulet i vinduet der åbnes.

Som standard oprettes et modul med en tom makro kaldet Hoved. Indtast i feltet " Makro navn» (« makro navn") ønskede navn jeg indtastede " Hoved”) og tryk på “ brænde» (« Gemme”) for at gemme den makro, vi optog. I mit tilfælde vil der komme en advarsel om, at et sådant makronavn allerede eksisterer.

Makroen optages, og hvis vi nu gemmer dokumentet, gemmes makroen med den. Så hver gang vi åbner dette dokument, kan vi bruge denne makro.

Kørsel og redigering af en LibreOffice 4.1-makro

Der er to måder at køre en makro på i LibreOffice 4.1.
Åbn først vinduet Kør makro»: Værktøjer → Makroer → "Kør makro"(Værktøjer → Makroer → "Kør makro..."), fremhæv den ønskede makro og klik på " Løb».

Invitation modtaget. :)

Hej snydere!
I dag vil jeg fortælle dig om brugen af ​​makroer i libreoffice.

Forord
Hver dag derhjemme og på arbejdet bruger vi kontorapplikationer til at udføre alle opgaver. Det sker ofte, at du specialiserer dig i ét job og ender med at udføre de samme opgaver: at indsætte den samme tekst, formatere den ved hjælp af et stort antal genvejstaster. I alle disse tilfælde kan du spare din værdifulde arbejdstid ved at automatisere noget af dit arbejde.
Senere i artiklen vil jeg fortælle dig om brugen af ​​makroer i libreoffice.

Hvad er makroer og hvorfor er de det?

Makro er en sekvens af bestemte handlinger, der kan optages ved hjælp af en almindelig menu. Når du vælger at optage en makro, gemmes de handlinger, du udfører, automatisk som scriptkode. Og i dit videre arbejde vil det allerede blive udført uafhængigt, nøjagtigt at gentage dine handlinger i programmet. En makro kan være både enkel og meget kompleks – det kommer helt an på, hvad du skal bruge for at opnå resultatet. Hovedkriteriet for makroer er at være kraftfulde og nemme at bruge på samme tid. LibreOffice-makroerne opfylder præcis disse krav. Lad os prøve dette i praksis.

At bruge pakken libreoffice, Du skal have et forudinstalleret Linux-, Windows- eller MacOS-operativsystem samt en installeret LibreOffice-pakke (du kan f.eks. installere den fra ppa-lagre, som beskrevet i emnet)

Makrostyring

Før vi begynder at lave vores makro, skal vi stifte bekendtskab med makrostyringsværktøjet. Vi passerer langs stien Værktøjer - Makroer - Organiser makroer - LibreOffice Basic-makroer(Værktøjer - Makroer - Makrostyring - LibreOffice Basic makroer):

I venstre kolonne i vinduet kan vi som standard se en liste over installerede makroer. Ved at klikke på en af ​​dem kan du redigere eller slette den.
Hovedvindue opgave- vælg den makro, du har brug for, tildel den en knap på værktøjslinjen eller tilknyt den til en begivenhed. Ved at tildele en knap til en makro kan du hurtigt udføre de mest brugte.

Jeg vil bemærke, at oprettelse af en makro i automatisk tilstand (optagelse) kræver i det mindste lidt viden om makroskrivesproget, da vi nogle gange skal redigere det. For at se hvordan makroen ser ud skal du vælge den makro vi skal bruge og trykke på Redigere(Redigere). Nedenfor er et eksempel på, hvordan en makro ser ud i kildekoden:

Lad os tage et simpelt eksempel. Vi har allerede indsat noget tekst i dokumentet, og vi skal lave en overskrift til det, da vores tekst vil blive brugt i erhvervskorrespondance.
Vores fremtidige makro skal kunne:
- Placer teksten øverst i midten af ​​siden;
- indtast den tekst, der skal bruges som titel.
Når vi har oprettet en makro, tildeler vi den en knap på værktøjslinjen. Derefter vil et klik med musen være nok til at indsætte titlen i dokumentet.
Lad os følge rækkefølgen af ​​trin.

Trin 1.
Åbn et tekstdokument. Lad os gå videre Værktøjer - Makroer - Optag makro. Et lille optag makro-vindue vises med en enkelt Afslut makro-knap ( Stop optagelse):

Trin 2
Lad os lave en titel til teksten. Klik på knappen Center justering("Centreret"), så vores fremtidige tekst er præcis i midten af ​​dokumentet. Nu skriver vi selve titelteksten. Det er ikke nødvendigt at indstille forskellige formater til det (skrifttype eller fed/kursiv/understregning), fordi makroen ikke husker sådanne handlinger.

Trin 3
Når titlen er oprettet, skal du klikke på knappen Afslut makro i vinduet Optag makro. Macro Organizer-vinduet vises straks. Giv den nye makro et navn (f.eks. PostHead). Nu kan du gemme det på det sted, hvor du ønsker (f.eks. mappen " Min makro").

Trin 4
Nu skal vi tilføje en knap på værktøjslinjen til makroen posthoved. Denne proces er ikke så enkel, som den kan se ud ved første øjekast.
Vi åbner LibreOffice Basic makroer, tryk på knappen " Tildel"(Tildel). Følgende vindue vises Tilpas, hvor vi skal gå til fanen Værktøjslinjer og sørg for, at feltet "Værktøjslinje" er indstillet til "Standard" ( standard) .

Klik på knappen Tilføj i dette vindue Tilføje). Et andet vindue vises - "Tilføj kommandoer" ( Tilføj kommandoer).
I listen i venstre vindue "Kategorier" ( Kategori) finde " LibreOffice-makroer" (helt nederst på listen). Åbn den og kom til vores makro. Når den er fundet, er den tilbage at udføre det sidste og nemmeste trin. Træk brevhovedmakroen med musen til det sted på værktøjslinjen, hvor vi gerne vil se det.
Alle klarede opgaven.
Nu mangler vi bare at bruge knappen posthoved, som vi har tilføjet til panelet. Åbn for eksempel et nyt dokument og klik på knappen posthoved. Vores makro vil skabe en overskrift med præcis den tekst, vi "tildelte" til den og placere den øverst i dokumentet præcis i midten.
Er det virkelig praktisk?

Resultat
I mit eksempel lavede vi selvfølgelig en meget simpel makro. Men ved hjælp af værktøjerne beskrevet ovenfor, kan du også lave meget komplekse makroer. Og ikke kun i Forfatter, men også i alle andre applikationer af pakken libreoffice(regneark, præsentationer osv.). Nu hvor du ved, hvordan du opretter makroer, kan du nemt oprette dine egne for at gøre dit arbejde lettere.
Formålet med denne artikel er at lære det grundlæggende i at arbejde med et makrooptagelsesværktøj.

Jeg udgiver alt materiale i to formater - odt og pdf. Sidstnævnte er praktisk til distribution. Eksporter til pdf udføres ved almindelig hjælp af LibreOffice gennem dialogen " Fil → Eksporter til PDF". I processen med at korrekturlæse manualen og rette fejl i den, skal du ofte gemme dokumentet igen. Og for ikke at eksportere dokumentet manuelt hver gang, tænkte jeg, at det ville være rart, hvis dette skete automatisk ved lagring odf fil. Og kendskab til LibreOffice-makrosproget er i dette tilfælde absolut ikke nødvendigt.

Problemet er løst ved hjælp af makrooptagelsesfunktionen. Den er ikke tilgængelig som standard. For at aktivere det, gå til Service → Indstillinger"I kapitel" libreoffice" Vælg " Udvidede muligheder' og marker afkrydsningsfeltet ud for ' Aktiver makrooptagelse».

Efter genstart af LibreOffice i fanen " Service → Makroer" vare " Optag makro».

Efter at have trykket på " Værktøjer → Makroer → Optag makro» Et vindue vil poppe op på skærmen med knappen « Afslut optagelsen».

Den nederste linje er enkel:

  1. Slå makrooptagelse til
  2. Udfør den nødvendige handling, mens optagelsen er i gang. I mit tilfælde udførte jeg blot eksporten til PDF via " Fil → Eksporter til PDF»
  3. Klik på knappen Afslut optagelsen»
Det er det, PDF-eksportmakroen optages, der er kun tilbage at gemme den.

For nemheds skyld oprettede jeg et modul " Eksporter_til_PDF"på biblioteket" standard' og gemte min makro i dette modul.

Nu er det kun tilbage at tildele makroen til en bestemt begivenhed. I vores tilfælde, for at gemme dokumentet. Jeg skal til at " Service → Indstillinger» til fanen « Begivenheder».