Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/106: Рейтинг темы: голосов - 106, средняя оценка - 4.96
 Аватар для Derjzemit
269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142

Защита книги и макрос

18.03.2014, 13:33. Показов 21444. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые форумчане. У меня довольно интересный для меня вопрос, если допустим поставить на книгу пароль на открытие стандартным способом через "Сервис" и т.д., можно ли при включении книги с включенными макросами, что бы он снимался каким-то образом? Смысл в том, чтобы при включенных макросах программа запускалась без требования пароля, а если макросы выключить, то книгу без пароля уже открыть нельзя будет. Как ставить защиту листов и структуры книги понятно, а вот как с общей книги...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2014, 13:33
Ответы с готовыми решениями:

Защита книги
доброго времени суток. Вопрос. Запаролил книгу, но узнал что открыть ее не представляет никакой трудности. Интересует почему такой код...

Защита книги и кода excel
Вот новый вопросик: задача защитить код и доступ к записям листов методом макросов. Вот как я это реализовал: 1. код защищается...

Защита книги от переноса на другой ПК
У меня проблема, как защитить книгу от незаконного переноса на другой пк? Если кто знает помогите. Заранее благодарен.

10
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
24.03.2014, 10:07
Нужно в автоопен поставить:
ActiveWorkbook.Unprotect Password:="ПАРОЛЬ"
Это снятие автоматом пароля.

Таже нужно ставить пароль автоматом перед закрытием. Для нужно в саб Sub Workbook_BeforeClose вставить:
ActiveWorkbook.Protect Password:="ПАРОЛЬ", structure:=True, Windows:=True
0
40 / 40 / 9
Регистрация: 19.03.2014
Сообщений: 215
24.03.2014, 12:03
Скорее всего нельзя.
Включение макросов это настройка самого Экзеля, поэтому лучше формой.
0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
24.03.2014, 15:02
Stormy day,
имею ввиду, что при закрытии книги автоматически пишется пароль. При открытии же загружается макрос, который его снимает. Т.е. создается ситуация, что без включенных макросов книга закрыта для редактирования: не может смотреть др. листы, не можете редактировать 1й лист и т.д. и т.п.
Если макросы отключены, нужно знать пароль для снятия защиты книги от редактирования. В противоположном случае, вы его не снимите, книга откроется, но тоьлко титульный лист.
Вобщем, это гарантирует, что пользователь не сможет отключить макросы, веренее это не ничего не даст: книга закрыта для редактирования.
0
 Аватар для Derjzemit
269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142
24.03.2014, 15:10  [ТС]
Может глупый вопрос, а что есть Auto Open и где задавать ему макрос?
0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
24.03.2014, 15:16
авто опен - это обычный макрос в каталоге макросов. Делает "создать макрос" ...и т.д. Просто первая строчка в макросе "Private Sub auto_open()". Вобщем, если макрос так называется - он запусется при открытии книги.
0
40 / 40 / 9
Регистрация: 19.03.2014
Сообщений: 215
24.03.2014, 15:18
Derjzemit,
http://office.microsoft.com/ru... 14113.aspx есть просто Open
0
 Аватар для Derjzemit
269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142
24.03.2014, 15:30  [ТС]
Visual Basic
1
2
3
Private Sub Auto_Open()
ActiveWorkbook.Unprotect Password:="1234"
End Sub
Имеется в виду такой вариант? Если да, то я задаю в лист "Эта книга" его и все равно книга с нуля запускается под паролем.

Добавлено через 10 минут
Возможно я конечно не так выразился изначально, еще раз по сути, меня не интересует защита отдельных листов и структуры от редактирования и изменения (все что связано со вкладкой Рецензирование) - с этим я разобрался, меня интересует шифровании книги стандартными методами (через Сервис при сохранении), вернее снятие пароля оттуда макросом. Насколько я понимаю, книгу надо сначала расшифровать паролем, а потом все макросы и будут запускаться (в моем понимании работы экселя), по-этому и спрашиваю, можно ли как-то это обойти. Была конечно идея запускать одну книгу, которая копировала в буфер обмена пароль, открывала нужную книгу и вставляла грубо, но это некрасиво и плоско, по-этому и интересно можно ли.
0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
24.03.2014, 15:32
книга не запускается под поролем если он не установлен.
1. Сохраняете книгу(и все сделанные изменения) с автоматической установкой пароля (макрос вписывается в "эта книга"):
Visual Basic
1
2
Sub Workbook_BeforeClose
ActiveWorkbook.Protect Password:="1234", structure:=True, Windows:=True
2. Также у вас прописан макрос на автоматической выполнение при открытии (обычный макрось в "mudules":
Visual Basic
1
2
3
Private Sub Auto_Open()
ActiveWorkbook.Unprotect Password:="1234"
End Sub
Т.е. Получается, что выходя из книги устанавливаетсяы пароль на защиту книги(структуры и окно). А при открытии книги выполняется макрос, которые его снимает. Т.о. если макросы отключены, то книги остается защищенной (структура окна и т.п.)
0
 Аватар для Derjzemit
269 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 142
24.03.2014, 15:40  [ТС]
Да это все и так понятно) я говорю про тот пароль, который устанавливается в сохранении-сервис и пока его не введешь, структуру в принципе увидеть нельзя, не то что бы изменить.
0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
24.03.2014, 15:44
наверное, это я не правильно понял
Тогда только макрос на форму через автоопен

Добавлено через 1 минуту
Visual Basic
1
2
3
4
5
6
Sheets("1").Select
    With UserForm1
    
         .Show
         
         If .txtPwd.Text <> "1234" Then Exit Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2014, 15:44
Помогаю со студенческими работами здесь

Защита книги excel 2007
Хочу чтоб Если книгу excel 2007 c названием BOOK1 перепишут в другой компьютер, там его не могли открить.

Общий доступ и защита книги в Office 2003
У меня работает программа в EXCEL написана средствами VBA. Сегодня поставили ещё один комп соеденили в сеть. Дал разрешение для файла...

Вызвать макрос из другой книги
Всем привет. Мне необходимо вызвать макрос, который находится в книге эксель из outlook. С этим всё в порядке, но дело в том, что пока...

Макрос перенос из книги в книгу
Друзья, нужна помощь, только начал работать с VBA, помогите советом. Есть алгоритм, в нем участвуют два документа (книги), я работал по...

Нужен макрос по копированию книги
Такая ситуация. По своей работе приходится обсчитывать большое количество проектов в excele. Модель расчётов одинаковая. Для каждого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru