Глава 2 · 2.5
Макроси от Word и Excel (VBA): какво още работи?
Макросът е малка програма в документ: бутон, който създава фактура или сортира списък. В Word и Excel макросите са написани на VBA. Такива файлове ще разпознаете по разширението docm, xlsm или pptm, или това са стари файлове doc и xls.
Честно казано
| LibreOffice | Euro-Office | |
|---|---|---|
| Отваряне на файла и използване на данните | Да | Да |
| Изпълнение на VBA макроси | Частично, най-вече от Excel, ако го разрешите | Не |
| Собствени макроси | На LibreOffice Basic и Python | На JavaScript |
В LibreOffice
Защо нищо не се случва? От съображения за сигурност LibreOffice изключва макросите по подразбиране. Тогава ще видите съобщение като Макросите са изключени поради настройките за сигурност на макросите.
- Изберете Инструменти > Настройки... > Зареждане/записване > Настройки за VBA. При Microsoft Excel (и при нужда Word) поставете отметка при Зареждане на кода на Basic, Изпълним код и Записване на оригиналния код на Basic.
- Изберете Инструменти > Настройки... > LibreOffice > Защита и щракнете върху Сигурност на макросите.... Изберете Среден: тогава LibreOffice ще Ви пита какво желаете при всеки файл с макроси.
- Затворете файла и го отворете отново. Изберете Разрешаване на макросите (Enable Macros), но само ако имате доверие на файла.
LibreOffice може да изпълни голяма част от VBA кода, но не целия. Ако някой бутон не работи, макросът трябва да бъде адаптиран в редактора на Basic (Инструменти > Макроси > Редактиране на макроси...). За това са необходими познания по програмиране.
Ако запишете файла отново като xlsm, оригиналният VBA код се запазва благодарение на Записване на оригиналния код на Basic. Ако го запишете като ods, VBA кодът се губи.
В Euro-Office
Euro-Office не изпълнява VBA. Файлът се отваря нормално и виждате всички данни и формули, но бутоните не правят нищо. В раздела Изглед, при Макроси, можете да създадете макрос на JavaScript или да запишете такъв. Повече ще намерите в Файл на Excel с VBA макроси: какво сега?.

Нуждаете ли се още от макроса?
Много стари макроси сортират, филтрират, оцветяват или търсят нещо. Това често може да стане и без макрос:
- оцветяване: условно форматиране (Условно форматиране: клетки, които се оцветяват автоматично);
- търсене: VLOOKUP или XLOOKUP (Вертикално търсене с VLOOKUP и XLOOKUP);
- обобщаване: обобщена таблица (Създаване на обобщена таблица);
- писма от списък: циркулярни писма (Създаване на писма от списък с адреси (циркулярни писма)).
Повече за възможностите, с които разполагате, ще намерите в Макроси, шаблони и тестване на съвместимостта.
Внимание: макросите във файлове от други хора могат да бъдат вредни. Никога не задавайте сигурността на макросите на Слабо и разрешавайте макроси само за файлове, на които имате доверие. Винаги пазете оригинала на файл с макроси.
