Поиск по сайту:

Как писать макросы JavaScript в документации ONLYOFFICE


Вам приходится работать с документами Word, электронными таблицами Excel или презентациями PowerPoint и вам нужно снова и снова повторять сложные задачи? Например, вам нужно выделить повторяющиеся значения на листе или удалить фигуры со слайдов презентации.

Если это так, это может быть сложно для вас как пользователя Linux. Выполнять такие задачи вручную бессмысленно. Множество различных операций можно легко выполнить автоматически с помощью макросов VBA в Microsoft Office. Однако есть серьезная проблема: они не работают на машинах с Linux.

Однако есть гениальное решение этой проблемы. Вы можете писать и запускать макросы JavaScript в ONLYOFFICE Docs для выполнения монотонных операций.

Прочтите эту статью, чтобы узнать, как это сделать.

Что такое Документы ONLYOFFICE?

ONLYOFFICE Docs — это автономный офисный пакет с открытым исходным кодом, предназначенный для создания локальной среды для совместной работы на сервере Linux или Windows.

Он обеспечивает преимущества редактирования и совместного редактирования документов в реальном времени для большого количества решений для обмена файлами, платформ электронного обучения и систем управления документами.

В настоящее время он совместим с Nextcloud, ownCloud, Seafile, Plone, Confluence, Alfresco, Redmine, WordPress, Chamilo, Moodle, Drupal и другим программным обеспечением. Интеграция возможна через готовые коннекторы, доступные на GitHub.

С помощью ONLYOFFICE Docs вы можете работать со всеми популярными типами офисных файлов, включая текстовые документы, электронные таблицы, заполняемые формы, слайды и PDF-файлы.

Собственный формат ONLYOFFICE Docs — OOXML (DOCX, XLSX, PPTX), поэтому он может легко заменить Microsoft Office на компьютерах с Linux. Другие популярные форматы, такие как ODF, поддерживаются посредством автоматического преобразования в OOXML.

Помимо локальной версии, ONLYOFFICE Docs имеет бесплатную облачную версию для личного использования. Кроме того, существуют бесплатные приложения для всех популярных настольных и мобильных платформ, включая Windows, macOS, Linux, Android и iOS.

Что касается автоматизации задач, Документы ONLYOFFICE несовместимы с макросами Microsoft VBA. Он использует макросы JavaScript, которые способны выполнять те же операции гораздо более безопасным образом.

Начало работы с макросами для документов ONLYOFFICE

Макрос – это небольшой скрипт, который упрощает работу с различными типами документов за счет автоматизации определенной задачи. Другими словами, это фрагмент программного кода, содержащий набор действий, которые вы можете выполнять так часто, как захотите.

Например, вы можете запустить соответствующий макрос, чтобы выделить дубликаты в выбранной области электронной таблицы разными цветами.

В Документах ONLYOFFICE это выглядит так:

Какая практическая польза от этого макроса? При работе с данными вы можете запустить сохраненный макрос за считанные секунды, нажав соответствующую кнопку, чтобы выделить повторяющиеся значения столько раз, сколько вам нужно, что сэкономит вам часы времени.

Основные причины, почему макросы ONLYOFFICE хороши

Макросы в ONLYOFFICE Docs основаны на синтаксисе JavaScript и методах API ONLYOFFICE Document Builder. Есть несколько очевидных причин, почему они лучше макросов VBA:

  • Макросы ONLYOFFICE являются кроссплатформенными. В отличие от Visual Basic, JavaScript является более распространенным языком программирования. Таким образом, макросы JavaScript можно легко запускать на платформах Windows, Linux и macOS.
  • Макросы ONLYOFFICE просты в использовании. JavaScript часто рекомендуется новичкам, и его сообщество быстро растет. Многие люди выбирают JavaScript в качестве своего первого языка программирования, потому что в Интернете есть множество подробных руководств и руководств.
  • Макросы ONLYOFFICE безопасны. Код JavaScript макросов ONLYOFFICE выполняется в том же окне, что и редакторы. Следовательно, они не могут быть использованы злоумышленниками для компрометации вашей системы, поскольку у них нет к ней доступа.

Как работают макросы ONLYOFFICE

Макрос ONLYOFFICE представляет собой комбинацию синтаксиса JavaScript и методов API ONLYOFFICE Document Builder.

ONLYOFFICE Document Builder — это библиотека C++, используемая для создания и редактирования файлов Office Open XML, а также для сохранения файлов, отличных от OOXML, в форматах DOCX, XSLX, PPTX и PDF. Он работает с API JavaScript.

Существует множество методов ONLYOFFICE API, и вы вряд ли будете использовать большинство из них. Вот несколько практических примеров:

  • Метод SetFillColor предназначен для изменения цвета фона текущего диапазона ячеек на цвет ранее созданного цветового объекта.
  • Метод GetValue возвращает значение указанного диапазона.
  • Метод GetSlideByIndex возвращает слайд на его позицию в презентации.
  • И многое другое.

Подробное описание всех методов ONLYOFFICE API и их функций можно найти в официальной документации.

В Документах ONLYOFFICE макросы можно создавать и удалять с помощью специального плагина на верхней панели инструментов. Чтобы получить к нему доступ, откройте вкладку Плагины и нажмите кнопку Макросы. Вы увидите окно, в котором сможете написать код JavaScript для своих макросов.

С помощью соответствующих кнопок вы можете создавать новые макросы и удалять существующие. Вам также разрешено переименовывать макросы и даже активировать функцию автозапуска.

Как написать макрос ONLYOFFICE

Теперь, когда вы понимаете, как работают макросы ONLYOFFICE, давайте напишем один из них. Прежде чем начать, необходимо определиться, какую задачу будет решать наш макрос.

Давайте начнем с чего-то простого и представим, что нам нужно изменить цвет фона ячейки на нашем листе Excel. Эта задача несложная, но макрос, который мы собираемся создать, значительно упростит ее.

Чтобы начать, перейдите на вкладку Плагины и нажмите Макросы. Если вы откроете это окно впервые, то обнаружите там уже созданный макрос. Однако в этом макросе не будет кода JavaScript. Вы увидите простую оболочку функции:

(function()
{
    // ... your code here ...
})();

При необходимости переименуйте макрос.

Теперь вы можете начать писать свой код. Изучив документацию ONLYOFFICE Document Builder API, которая уже упоминалась в предыдущей главе, вы узнаете, что для вашего макроса следует использовать следующие методы:

  • Метод Api.GetActiveSheet для получения активного листа.
  • Метод GetRange для установки требуемого диапазона.
  • Метод SetFillColor для установки цвета фона необходимой ячейки.
  • Api.CreateColorFromRGB для установки желаемого цвета.

Сначала вам нужно получить активный лист и установить необходимый диапазон, введя соответствующие методы. Нацелимся на ячейку A2. Начните вводить имена методов в обертке функции, и вы увидите все доступные подсказки, что очень удобно.

Затем вам нужно установить цвет фона текущей ячейки. Для этого используйте метод SetFillColor. Метод Api.CreateColorFromRGB позволит вам установить нужный вам цвет. Ваш код должен быть следующим:

(function()
{
    // Api.GetActiveSheet().GetRange("A2").SetFillColor(Api.CreateColorFromRGB(0, 0, 210));
})();

Теперь пришло время запустить макрос и посмотреть результаты. Нажав кнопку Выполнить, вы увидите, что ячейка A2 выделена цветом. Вы можете поиграть с разными цветами, изменив значение в методе Api.CreateColorFromRGB.

Если вы не хотите изучать основы JavaScript кодирования для создания макросов ONLYOFFICE, вы всегда можете воспользоваться готовыми примерами макросов с официального сайта и доработать их под свои нужды. .

Заключение

Как видите, создавать макросы в ONLYOFFICE Docs не так сложно, как кажется на первый взгляд. Конечно, вам необходимо знать основы кодирования JavaScript, чтобы создавать сложные макросы с десятками строк кода.

Однако создание простых макросов для повседневных рутинных действий не требует от вас быть гуру JavaScript. Вы можете изучить основные принципы, пытаясь создавать свои собственные плагины.

Важно отметить, что офисный пакет ONLYOFFICE поставляется с подробной документацией по API и готовыми примерами, которые максимально упрощают процесс создания макросов.