Как в макросе для LibreOffice Writer задать пароль на документ

Автор ForumOOo (бот), 19 августа 2021, 12:53

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Basic
Версия продукта:
Сборка: LibreOffice
ОС:

Всем доброго времени суток! В макросе для LibreOffice Writer надо прописать фрагмент, который ставит защиту документа с
паролем. Аналог на VBA:
WordDoc.Protect(3,True, password)
Метода Protect документ Writer не имеет, в отличие от того же Calc. Аналог, корректный для именно Writer, найти не удалось.
Ещё видел, что в DispatchHelper есть команда Protect, но тогда вопрос, как её применить, чтобы можно было поставить пароль на
документ?
Буду благодарен любой помощи))

--
Подпись: Семен Бородин

sokol92

Цитата: ForumOOo (бот) от 19 августа 2021, 12:53в DispatchHelper есть команда Protect,
Эта команда позволяет защитить от изменений выделенные ячейки таблицы. Пароль не предусмотрен.
Для отмены защиты есть команда ResetTableProtection, или правая кнопка мыши, "Снять защиту ячеек".
Владимир.

mikekaganski

С уважением,
Михаил Каганский

sokol92

#3
Указанный в #2 метод "честно" шифрует документ и без знания пароля документ открыть невозможно (если, разумеется, пароль имеет достаточную длину).
Как и в MS Office, можно в диалоге для сохранения отдельно задать пароль для редактирования. Если задать пароль для редактирования, а для открытия файла пароль не указывать, то пользователь сможет открыть файл, но не сможет перейти в режим редактирования без знания пароля. Как задавать макросом пароль для редактирования мне не известно.
Владимир.

mikekaganski

Цитата: ForumOOo (бот) от 19 августа 2021, 12:53WordDoc.Protect(3,True, password)

А, понял. Для ответа на вопрос отвечающий должен сначала изучить API, на котором написан пример...

Нет почему-то API для пароля на изменение. См. тут.
С уважением,
Михаил Каганский

sokol92

#5
ЦитироватьHanya  - это голова... (с)

Я видел, что макрорекордер записывает хеш-код от пароля, но, разумеется, это крайне слабый уровень защиты (в отличие от полноценного шифрования).

Начиная с версии 6.4 есть свойство LockEditDoc, запрещающее переход в режим редактирования документа.
Владимир.