Переход с Microsoft Office на ONLYOFFICE: Плюсы и Минусы

Статья написана ChatGPT, изображения Midjourney
Вводная

В мире существует множество офисных пакетов программного обеспечения для обработки текстов, таблиц и презентаций. Среди них - широко известные Microsoft Office и относительно новый конкурент ONLYOFFICE. Рассмотрим, что может побудить организации или индивидуальных пользователей совершить переход с MS Office на ONLYOFFICE, а также исследуем преимущества и недостатки последнего.

Оглавление

Плюсы ONLYOFFICE

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


2. Совместимость с форматами MS Office. Файлы, созданные в MS Office, могут быть открыты и отредактированы в ONLYOFFICE без потери форматирования, что обеспечивает гладкий переход и совместимую работу с документами, созданными в других офисных пакетах.


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


4. Интеграция с облачными сервисами. ONLYOFFICE можно интегрировать с популярными облачными сервисами хранения данных, такими как Google Drive, Dropbox, Box, что облегчает обмен документами и совместную работу.


5. Удобство для совместной работы. ONLYOFFICE предоставляет продвинутые функции для совместной работы над документами в реальном времени, поддерживая тем самым эффективную командную работу на расстоянии.


Минусы ONLYOFFICE

1. Привыкание к интерфейсу. Для тех, кто долгие годы использовал MS Office, интерфейс ONLYOFFICE может показаться непривычным, что потребует времени на адаптацию.


2. Функциональные ограничения. Несмотря на широкий набор функций, некоторые специализированные инструменты и возможности, доступные в MS Office, могут отсутствовать в ONLYOFFICE, что может быть критично для некоторых категорий пользователей.


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


Заключение

Переход с MS Office на ONLYOFFICE может быть обоснованным решением для тех, кто ищет более доступные, гибкие и инновационные решения для совместной работы над документами. Благодаря своим преимуществам, таким как открытый исходный код, совместимость с форматами MS Office и удобство совместной работы, ONLYOFFICE становится привлекательным выбором. В то же время, важно учитывать потенциальные минусы, особенно если ваша работа требует специализированных функций или вы сталкиваетесь с проблемами производительности. В целом, выбор офисного пакета зависит от конкретных потребностей и предпочтений пользователя или организации.


Пример: разница макросов в MS Office и ONLYOFFICE

Пример. Есть у нас макрос в MS Excel которым мы устанавливаем скидки на наши товары. Задача переписать его для ONLYOFFICE.

Нюанс в том, что макросы для Экселя пишутся в VBA (бейсик), а макросы для ONLYOFFICE пишутся на JavaScript.



Sub Cells()

Dim Cell As Range

Discount = InputBox("Введи код скидки")

Lrow = Range("F60000").End(xlUp).Row

Range("D2:D" & Lrow).Select

For Each Cell In Selection

If Right(Cell.Value, 1) <> ";" And Cell.Value <> "" Then

Cell.Value = Cell.Value & ";"

End If

Next

For Each Cell In Selection

If Right(Cell.Value, 1) = ";" And Cell.Value <> "" Then

Cell.Value = Cell.Value & Discount & ";"

End If

Next

For Each Cell In Selection

If Cell.Value = "" Then

Cell.Value = Discount & ";"

End If

Next

End Sub



Как он будет выглядеть в ONLYOFFICE


Переписать макрос с VBA на JavaScript для работы с таблицами, предполагая, что мы работаем в среде, которая позволяет манипулировать таблицами с помощью JavaScript (например, Google Sheets с использованием Google Apps Script), может выглядеть примерно так:


function addDiscount() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

var discount = Browser.inputBox("Введите код скидки");

var lastRow = sheet.getLastRow();

var range = sheet.getRange("D2:D" + lastRow);

var values = range.getValues();


for (var i = 0; i < values.length; i++) {

// Добавляем точку с запятой в конец значения, если её там нет (и значение не пустое)

if (values[i][0].slice(-1) !== ";" &amp;&amp; values[i][0] !== "") {

values[i][0] += ";";

}

}

for (var i = 0; i < values.length; i++) {

// Добавляем код скидки после точки с запятой, если последний символ — точка с запятой (и значение не пустое)

if (values[i][0].slice(-1) === ";" &amp;&amp; values[i][0] !== "") {

values[i][0] += discount + ";";

}

}


for (var i = 0; i < values.length; i++) {

// Добавляем код скидки, если ячейка пустая

if (values[i][0] === "") {

values[i][0] = discount + ";";

}

}

// Применяем изменения к диапазону

range.setValues(values);

}



Обратите внимание, что этот код предполагает использование Google Apps Script, среды для автоматизации работы с продуктами Google Workspace, в том числе Google Sheets. JavaScript в данном случае немного отличается от стандартного JavaScript, используемого на веб-страницах, по причине специфики API Google Apps Script.


Скрипт сначала запрашивает у пользователя код скидки через всплывающее окно. Затем он определяет последнюю заполненную строку в столбце D и работает с каждой ячейкой этого столбца, добавляя точку с запятой в конец значения, если там её нет (и если ячейка не пустая), затем добавляет код скидки после точки с запятой (если значение не пустое и заканчивается на точку с запятой), и, наконец, если ячейка пуста, просто добавляет код скидки. Полученные значения применяются к диапазону с помощью метода setValues().