2 skyrius · 2.5
Word ir Excel makrokomandos (VBA): kas dar veikia?
Makrokomanda yra nedidelė programa dokumente, pavyzdžiui, mygtukas, kuris sukuria sąskaitą faktūrą arba surūšiuoja sąrašą. Word ir Excel makrokomandos rašomos VBA kalba. Tokius failus atpažinsite iš plėtinio docm, xlsm arba pptm; tai gali būti ir seni doc bei xls failai.
Sąžiningai apie galimybes
| LibreOffice | Euro-Office | |
|---|---|---|
| Atverti failą ir naudoti duomenis | Taip | Taip |
| Vykdyti VBA makrokomandas | Dalį, daugiausia iš Excel, jei tai įjungsite | Ne |
| Savos makrokomandos | LibreOffice Basic ir Python kalbomis | JavaScript kalba |
LibreOffice
Kodėl niekas nevyksta? Dėl saugumo LibreOffice pagal numatytąsias nuostatas makrokomandas išjungia. Tuomet matote pranešimą, pavyzdžiui, Makrokomandos išjungtos dėl makrokomandų saugumo nuostatų.
- Pasirinkite Priemonės > Parinktys... > Įkėlimas ir įrašymas > VBA savybės. Ties Microsoft Excel (ir, jei reikia, Word) pažymėkite Įkelti „Basic“ kodą, Vykdomasis kodas ir Vėl įrašyti originalų „Basic“ kodą.
- Pasirinkite Priemonės > Parinktys... > LibreOffice > Apsaugoti ir spustelėkite Makrokomandų saugumas.... Pasirinkite Medium: tada LibreOffice kiekvieną kartą atveriant failą su makrokomandomis paklaus, ką norite daryti.
- Uždarykite failą ir atverkite jį iš naujo. Pasirinkite Įgalinti makrokomandas (Enable Macros), bet tik tada, jei pasitikite failu.
LibreOffice gali įvykdyti didelę dalį VBA kodo, bet ne visą. Jei mygtukas neveikia, makrokomandą reikia pataisyti „Basic“ rengyklėje (Priemonės > Makrokomandos > Taisyti makrokomandas...). Tam reikia programavimo žinių.
Jei failą vėl įrašysite xlsm formatu, originalus VBA kodas išliks dėl parinkties Vėl įrašyti originalų „Basic“ kodą. Jei įrašysite ods formatu, VBA kodas bus prarastas.
Euro-Office
Euro-Office VBA nevykdo. Failas atsiveria įprastai ir matote visus duomenis bei formules, tačiau mygtukai neveikia. Kortelėje View, skiltyje Macros, galite sukurti makrokomandą JavaScript kalba arba ją įrašyti. Daugiau rasite straipsnyje Excel failas su VBA makrokomandomis: ką daryti?.

Ar Jums dar reikia makrokomandos?
Daugelis senų makrokomandų rūšiuoja, filtruoja, nuspalvina arba ką nors ieško. Dažnai tai galima atlikti ir be makrokomandos:
- spalvinimas: sąlyginis formatavimas (Sąlyginis formatavimas: langeliai nusidažo automatiškai);
- paieška: VLOOKUP arba XLOOKUP (Vertikali paieška su VLOOKUP ir XLOOKUP);
- apibendrinimas: suvestinės lentelė (Suvestinės lentelės kūrimas);
- laiškai pagal sąrašą: laiškų suliejimas (Laiškų kūrimas iš adresų sąrašo (laiškų komponavimas)).
Daugiau apie Jūsų galimybes rasite straipsnyje Makrokomandos, šablonai ir suderinamumo tikrinimas.
Dėmesio: kitų žmonių failuose esančios makrokomandos gali būti kenkėjiškos. Niekada nenustatykite makrokomandų saugumo lygio Žemas (Low) ir įjunkite makrokomandas tik tiems failams, kuriais pasitikite. Visada išsaugokite failo su makrokomandomis originalą.
