Переход с Microsoft Office на ONLYOFFICE: Плюсы и Минусы
В мире существует множество офисных пакетов программного обеспечения для обработки текстов, таблиц и презентаций. Среди них - широко известные Microsoft Office и относительно новый конкурент ONLYOFFICE. Рассмотрим, что может побудить организации или индивидуальных пользователей совершить переход с MS Office на ONLYOFFICE, а также исследуем преимущества и недостатки последнего.
1. Открытый исходный код. ONLYOFFICE предлагает версии с открытым исходным кодом, что позволяет пользователям или организациям настраивать программу под свои специфические нужды, а также стать частью сообщества, вносящего свой вклад в развитие продукта.
2. Совместимость с форматами MS Office. Файлы, созданные в MS Office, могут быть открыты и отредактированы в ONLYOFFICE без потери форматирования, что обеспечивает гладкий переход и совместимую работу с документами, созданными в других офисных пакетах.
3. Гибкая ценовая политика. ONLYOFFICE предлагает гибкие опции лицензирования, включая бесплатные планы для небольших команд и доступные решения для крупного бизнеса и образовательных учреждений.
4. Интеграция с облачными сервисами. ONLYOFFICE можно интегрировать с популярными облачными сервисами хранения данных, такими как Google Drive, Dropbox, Box, что облегчает обмен документами и совместную работу.
5. Удобство для совместной работы. ONLYOFFICE предоставляет продвинутые функции для совместной работы над документами в реальном времени, поддерживая тем самым эффективную командную работу на расстоянии.
1. Привыкание к интерфейсу. Для тех, кто долгие годы использовал MS Office, интерфейс ONLYOFFICE может показаться непривычным, что потребует времени на адаптацию.
2. Функциональные ограничения. Несмотря на широкий набор функций, некоторые специализированные инструменты и возможности, доступные в MS Office, могут отсутствовать в ONLYOFFICE, что может быть критично для некоторых категорий пользователей.
3. Проблемы с производительностью на больших документах. Пользователи отмечают, что при работе с очень большими документами или сложными таблицами 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) !== ";" && values[i][0] !== "") {
values[i][0] += ";";
}
}
for (var i = 0; i < values.length; i++) {
// Добавляем код скидки после точки с запятой, если последний символ — точка с запятой (и значение не пустое)
if (values[i][0].slice(-1) === ";" && 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().