Пилот LibreOffice на 30 рабочих местах госклиента: макросы, стили и привычки
Программа импортозамещения ПО дошла до офисных пакетов. Документируем первый корпоративный пилот LibreOffice: VBA-макросы, нестандартные стили .docx и сопротивление пользователей.
Программа импортозамещения ПО обязывает госорганы переходить на отечественный и/или open source офисный пакет
После пилота Astra Linux у того же госклиента логично встал следующий вопрос: если уходим с Windows - значит, уходим и с Microsoft Office. Программа импортозамещения в части офисного ПО звучит ровно так: обоснуй, почему не open source, если есть open source. LibreOffice в этом контексте - очевидный первый кандидат, бесплатный, есть под Linux и Windows, поддерживается The Document Foundation.
Клиент попросил пилот на 30 рабочих местах. Не самых активных пользователей, не бухгалтерию - административный блок, люди, которые пишут письма, готовят справки и заполняют формы. Казалось бы, задача несложная. Оказалась не простой.
Проблема первая: макросы VBA
Несколько шаблонных документов у клиента содержали макросы на VBA - автозаполнение реквизитов, кнопки для отправки по почте, один документ с нетривиальной логикой расчёта итогов в таблице. Всё это десятилетиями работало в Word и Excel, никто не задумывался о переносимости.
LibreOffice имеет собственный диалект Basic и поддерживает часть VBA через режим совместимости. Ключевое слово - «часть». Простые макросы - присвоение значений полям, обход диапазона ячеек - конвертировались нормально. Но стоило макросу использовать специфичные объекты Word (например, ActiveDocument.BuiltInDocumentProperties или работу с ContentControl) - всё, дальше только ручная переписка на Basic.
Мы нашли три типа проблем:
- Объекты Word без аналогов в LibreOffice Basic. Переписываем вручную, благо логика несложная.
- Диалоговые окна UserForm. В LibreOffice это
Basic IDE+ диалоги, концепция другая. Конвертировать нельзя, только воссоздать. - Вызовы COM-объектов -
CreateObject("Outlook.Application")для отправки почты. Тут вообще другая платформа, решение будет отдельным.
Итог: из пяти шаблонов с макросами три переписали за разумное время, два отложили как «требует проектирования». Для интеграционных работ этот объём надо закладывать явно - не «переконвертировать», а «переписать».
Проблема вторая: .docx со стилями
Документы клиента накапливались годами, и в них жил корпоративный шаблон с кастомными стилями: заголовки с конкретными шрифтами, колонтитулы с логотипом, поля с точными значениями под бланк. Шаблон .dotx создавался когда-то давно в Word 2003, потом открывался в Word 2007/2010 и постепенно мутировал.
LibreOffice открывает такие документы, но визуально они выглядят иначе. Конкретные проблемы:
- Шрифт Times New Roman в заголовке. Если шрифт установлен в системе - ок. Если нет - LibreOffice подставляет замену, и подставляет не всегда удачно. На Linux-машинах пилота TTF-пакеты пришлось ставить отдельно.
- Нестандартные межстрочные интервалы. В Word есть понятие «множитель с точным значением в твипах», LibreOffice интерпретирует это немного иначе. Разница в 1-2 пт на строку - к концу страницы текст съезжает относительно бланка.
- Рамки и поля с точными координатами. Документы с жёсткой разметкой под печатный бланк (акты, справки) - проблемная категория. LibreOffice иначе считает поля страницы плюс внутренние поля блоков, и документ приходилось выравнивать руками.
Не всё плохо: обычные текстовые документы без хитрой разметки открывались нормально. Проблема именно в тех файлах, где Word использовался как настоящий DTP-инструмент с ручной пиксельной точностью.
Проблема третья: пользователи
Это, честно говоря, оказалось не менее трудоёмко, чем технические проблемы. Интерфейс LibreOffice 4.4 отличается от Word достаточно, чтобы раздражать опытного пользователя. Не кардинально - панели инструментов похожи, логика документа та же - но мелочи бьют.
Самые частые вопросы первых двух недель:
- «Где автозамена кавычек». Есть, но включается в другом месте и с другой логикой для русского языка.
- «Почему не работает Ctrl+Alt+V». Специальная вставка - работает, но диалог другой и опции названы иначе.
- «Куда делся список последних документов». Он есть, просто выглядит иначе в стартовом экране.
- «Формат ячейки, где». Правая кнопка мыши, но пункт называется не так.
Мы сделали одностраничную шпаргалку с маппингом «как в Word - как в LibreOffice» для пятнадцати самых частых операций. Это помогло сократить поток вопросов, но не устранило главное: люди знают Word на уровне мышечной памяти, и переобучение - это реальные часы продуктивности.
Где мы сейчас
Пилот на 30 местах продолжается вторую неделю. Часть пользователей освоилась и работает без вопросов. Часть - работает с трудностями, но терпит. Несколько человек напрямую сказали, что «так неудобно». Без хэппи-энда.
Технически LibreOffice справляется с задачей создания и редактирования стандартных документов. Проблемы начинаются там, где есть исторический багаж: макросы, сложные шаблоны, точная разметка под бланки. Именно это и составляет большую часть реального документооборота госклиента.
Вывод промежуточный: офисная миграция - это не «поставить другой пакет», это работа с каждым нетривиальным шаблоном и с каждым пользователем отдельно. Масштаб пилота в 30 мест - разумный, чтобы собрать весь зоопарк проблем до того, как решение покатится на весь департамент.