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

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

15 Сентябрь 2019, 19:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: макрос - защита документа с паролем  (Прочитано 6751 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bitum
Форумчанин
***
Offline Offline

Сообщений: 55


« Стартовое сообщение: 1 Май 2014, 00:09 »

Доброго времени
Можно ли написать макрос и назначить на кнопку, который защищает документ с использованием пароля ?
у меня не получается ,       без пароля работает
OOO 4.0.1
Win 8

* Без имени 1.ods (9.44 Кб - загружено 43 раз.)
Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 429


WWW
« Ответ #1: 1 Май 2014, 08:08 »

Почему же?
Макрос работает как надо.
Только он защищает не документ, а лист.
Записан

bitum
Форумчанин
***
Offline Offline

Сообщений: 55


« Ответ #2: 1 Май 2014, 10:59 »

Спасибо за ответ
Да, простите "лист"
Но у меня во время выполнения макроса выскакивает форма где вручную надо вводить пароль , а я записывал макрос с вводом пароля "1"
т. е. я хотел чтоб все было автоматически без выскакивания формы
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 15 Май 2014, 00:38 »

Нажмите на кнопку. Повторное нажатие снимает защиту.

* Защита листа.ods (16.38 Кб - загружено 38 раз.)
« Последнее редактирование: 15 Май 2014, 10:07 от rami » Записан

Smaigas
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Vilnius (Вильнюс) Lietuva (Литва)
Сообщений: 81

Дураков не сеют и не сажают, дураки сами вырастут


« Ответ #4: 15 Май 2014, 09:51 »

Я чегото не понял, это фича такая или чтото с моей либрой? Хотю макрос подглядеть, а он , зараза, прячется (на миг появляется весь код, и сразу исчезает). В итоге я вижу только это:
Код:
Sub Main
oSheet=ThisComponent.CurrentController.ActiveSheet
If oSheet.isProtected() Then  oSheet.unprotect(1) Else  oSheet.protect(1)
End Sub
ПыСы Макрос работает
« Последнее редактирование: 15 Май 2014, 09:54 от Smaigas » Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #5: 15 Май 2014, 09:55 »

Это и есть весь код.
Записан

Smaigas
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Vilnius (Вильнюс) Lietuva (Литва)
Сообщений: 81

Дураков не сеют и не сажают, дураки сами вырастут


« Ответ #6: 15 Май 2014, 10:24 »

Гы,
меня смутило мелькание, поэтому, на то что всплыло даже не смотрел. Оказывается, мелькали мои макросы, которые в My macros>Standard>Module1
Записан
apt31
Участник
**
Offline Offline

Сообщений: 16


« Ответ #7: 2 Июль 2014, 10:54 »

Так просто. Вчера мучился где бы найти эти аргументы. Вообще я бы учредил медаль разработчикам OOо за самые непонятный ресурс (http://www.openoffice.org/api/basic/man/) по изучению  встроенного языка программирования.
Вот еще проблема. Создал кнопку на листе CALC. Как связать макрос с кнопкой . На панели управления все нормально работает а на листе - мертвая, хотя все вроде настроил.
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #8: 2 Июль 2014, 11:21 »

Как связать макрос с кнопкой . На панели управления все нормально работает а на листе - мертвая, хотя все вроде настроил.
Назначьте кнопке макрос. В панели инструментов "Элементы управления" нажмите значок "Элемент управления", в открывшимся окне нажмите "События", в строке "Выполнить действие" нажмите кнопку "...", в открывшемся окне нажмите "Макрос..." и выберите  нужный макрос.
Записан

Tigrigrrr
Новичок
*
Offline Offline

Сообщений: 2


« Ответ #9: 21 Август 2014, 11:41 »

Добрый день!  У меня такая проблема возникла.
Делаю кнопку на листе, при нажатии на которую выполняется макрос :

Doc = ThisComponent
oSheets = Doc.Sheets
List2 = oSheets.getByName("Лист2")
List2.Protect("")
Данный макрос просто защищает лист.
Если открыть  лист(незащищенный) нажать на кнопку. То все на листе защищено кроме самой кнопки , ее можно переносить, редактировать.
Как можно сделать так чтобы защищалась еще и сама кнопка от редактирования?
Записан
Tigrigrrr
Новичок
*
Offline Offline

Сообщений: 2


« Ответ #10: 21 Август 2014, 11:48 »

Если затем сохранить документ, закрыть и заново открыть то кнопку уже нельзя отредактировать.
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #11: 21 Август 2014, 18:05 »

Если открыть  лист(незащищенный) нажать на кнопку. То все на листе защищено кроме самой кнопки , ее можно переносить, редактировать.
Можно запретить изменение размеров или позиции кнопки.
Если затем сохранить документ, закрыть и заново открыть то кнопку уже нельзя отредактировать.
Можно установить режим "только для чтения" и пароль на документ, ничего нельзя будет редактировать. Кстати режим "только для чтения" у меня не отменяется , не активная кнопка "снять защиту"
Как можно сделать так чтобы защищалась еще и сама кнопка от редактирования?
Напрямую нельзя, но можно костылями по бубну Смеющийся Можно сделать так, что при любой вашей попытке включить режим редактирования шустрый макрос забежит вперёд и отключит. Но какой смысл всё это делать и для чего?
Записан

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

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