Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

7 Декабрь 2021, 18:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как в макросе для LibreOffice Writer задать пароль на документ  (Прочитано 982 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ForumOOo (бот)

Offline Offline

Сообщений: 778


« Стартовое сообщение: 19 Август 2021, 12:53 »

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

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

--
Подпись: Семен Бородин
Записан
sokol92
Форумчанин
***
Online Online

Пол: Мужской
Сообщений: 625


WWW
« Ответ #1: 19 Август 2021, 17:25 »

в DispatchHelper есть команда Protect,
Эта команда позволяет защитить от изменений выделенные ячейки таблицы. Пароль не предусмотрен.
Для отмены защиты есть команда ResetTableProtection, или правая кнопка мыши, "Снять защиту ячеек".
Записан

Владимир.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 396


« Ответ #2: 19 Август 2021, 17:43 »

Этот ответ с stackoverflow работает.
Записан

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Online Online

Пол: Мужской
Сообщений: 625


WWW
« Ответ #3: 19 Август 2021, 18:12 »

Указанный в #2 метод "честно" шифрует документ и без знания пароля документ открыть невозможно (если, разумеется, пароль имеет достаточную длину).
Как и в MS Office, можно в диалоге для сохранения отдельно задать пароль для редактирования. Если задать пароль для редактирования, а для открытия файла пароль не указывать, то пользователь сможет открыть файл, но не сможет перейти в режим редактирования без знания пароля. Как задавать макросом пароль для редактирования мне не известно.
« Последнее редактирование: 19 Август 2021, 18:38 от sokol92 » Записан

Владимир.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 396


« Ответ #4: 19 Август 2021, 18:59 »

WordDoc.Protect(3,True, password)

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

Нет почему-то API для пароля на изменение. См. тут.
Записан

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Online Online

Пол: Мужской
Сообщений: 625


WWW
« Ответ #5: 19 Август 2021, 19:15 »

Цитата:
Hanya  - это голова... (с)

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

Начиная с версии 6.4 есть свойство LockEditDoc, запрещающее переход в режим редактирования документа.
« Последнее редактирование: 19 Август 2021, 19:29 от sokol92 » Записан

Владимир.
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!