Решён
Есть ли макросы в таблице МойОфис?

Перевели контору на МойОфис. В Excel у нас было несколько рабочих макросов на VBA - пересчет данных по складу, формирование отчетов. Теперь надо как то это воспроизвести.

Есть ли вообще макросы в МойОфис Таблица? Если да - на чем они пишутся, VBA там работает или что-то свое? Если нет - как вообще автоматизировать рутину в этой программе?

Решение
33
Участник • 1 ответ

В МойОфис Таблица макросы есть, но не VBA. Используется собственный язык на базе JavaScript - он называется Basic Script (в старых версиях) или в актуальных редакциях это JavaScript-совместимый движок.

VBA-макросы из Excel напрямую не запустятся. Нужен портинг под их API. Для простых макросов типа пересчета ячеек и формирования отчетов это реально сделать, но придется переписать логику руками.

Документация по API скриптов есть на официальном портале МойОфис для разработчиков. Там примеры, справочник объектов. Если макросы несложные - пара дней на переписывание.

Аватар Светится

Никак. Разные рантаймы, разные объектные модели. Если макросы сложные - рассмотри вариант оставить Excel на тех машинах где он нужен только для этих файлов, а МойОфис использовать для всего остального. Это законно при наличии лицензий.

Аватар Сергей Петрович

Спасибо. То есть VBA вообще никак не запустить, только переписывать? Там макросы не самые тривиальные, боюсь это займет дольше пары дней.

9
Участник • 1 ответ

Честный ответ: в корпоративной версии МойОфис возможности скриптинга зависят от конкретной лицензии и того, что включил ваш IT-отдел. В базовой поставке для госсектора некоторые функции ограничены. Уточните у вашего администратора какая именно редакция установлена.

20
Эксперт • 1 ответ

Такая же история. Перешли на МойОфис полгода назад, три недели переписывали макросы. Главная боль - объектная модель у них своя и документация местами дырявая, некоторые вещи пришлось нагуглить через их официальный форум поддержки.

Совет: начни с самого простого макроса, разберись с их API на нем, потом остальные пойдут быстрее.

16
Эксперт • 2 ответа

Альтернативный вариант если переписывать долго: Python + openpyxl или pandas. Пишешь скрипт который открывает xlsx, делает что нужно, сохраняет. МойОфис нормально открывает файлы обработанные этими библиотеками. Скрипт запускается отдельно от офисного пакета, но зато не зависит от их API который может поменяться с обновлением.

8
Участник • 1 ответ

МойОфис вообще довольно сырой продукт если честно. Купили по приказу сверху, в итоге половина отдела тихо держит LibreOffice рядом. Макросы там хотя бы Basic нормальный и совместимость с Excel получше.

0
Участник • 2 ответа

тоже мучаюсь с переносом макросов с экселя... у нас там такие дебри что страшно смотреть. если кто разобрался с их апи - напишите в личку

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.