Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 16:28   #1
nik1905
Пользователь
 
Регистрация: 27.07.2009
Сообщений: 27
Вопрос ЗАЩИТА В EXEL

Здравствуйте!!
Подскажите, пожалуйста, как организовать защиту книги! Необходимо защитить книгу от переименования и изменения в ней данных, но необходимо, что бы по нажатию на объект WordArt, в этой книге проработал макрос, который уже может изменять книгу. Заранее спасибо!
nik1905 вне форума Ответить с цитированием
Старый 13.08.2009, 16:30   #2
nik1905
Пользователь
 
Регистрация: 27.07.2009
Сообщений: 27
По умолчанию

PS также было бы интересно узнать как, скрыть макросы, запретить доступ к ним и их изменение, в той же самой книге!! СПС
nik1905 вне форума Ответить с цитированием
Старый 13.08.2009, 16:56   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

1.
Цитата:
Необходимо защитить книгу от переименования
Реализуется только на уровне операционной системы.
Ограничиваете доступ к файлу - и никто не может его переименовать.
Excel со своими макросами тут не поможет.


2.
Цитата:
необходимо, что бы по нажатию на объект WordArt, в этой книге проработал макрос, который уже может изменять книгу
Можно назначить параметры защиты книги так, что вносить изменения сможет только макрос.

Цитата:
Сообщение от Pavel55
Смотрите метод Protect, у него есть аргумент UserInterfaceOnly.
Если UserInterfaceOnly:=True, тогда макросы могут делать с листом всё что захотите, а пользователю доступ запрещён

3.
Цитата:
интересно узнать как, скрыть макросы, запретить доступ к ним и их изменение
http://msoffice.nm.ru/faq/macros/mis...ous.htm#faq146
Цитата:
В меню Сервис выберите пункт Макрос и команду Редактор Visual Basic (ALT + F11)
После чего в меню Сервис / Tools выберите команду Свойства VBAProject / VBAProject Properties и в появившемся стандартном диалоговом окне выделите закладку Защита / Protection
Затем обязательно установите "флажок" напротив Блокировать просмотр проекта / Lock project for viewing, введите один и тот же пароль в поля Пароль / Password и Подтвержение пароля / Confirm password и нажмите кнопку OK.
Теперь в меню Файл / File выберите команды Сохранить / Save (CTRL + S) и Закрыть и вернуться ... / Close and Return ... (ALT + Q)
EducatedFool вне форума Ответить с цитированием
Старый 13.08.2009, 23:12   #4
Владимир.
Пользователь
 
Регистрация: 13.08.2009
Сообщений: 10
По умолчанию

"защитить книгу от переименования"

При открытии файла *.xls возможна проверка авто макросом имени файла, а также и пути к файлу, а при обнаружении расхождений файл может закрыт макросом, либо убраны/удалены требуемые листы книги с сообщением или без об обнаруженных расхождениях.
Владимир. вне форума Ответить с цитированием
Старый 14.08.2009, 05:23   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
При открытии файла *.xls возможна проверка авто макросом имени файла...
А кто не разрешит пользователю открыть xls-файл, удерживая клавишу Shift (запретить запуск макроса при открытии книги)?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 14.08.2009, 12:06   #6
Владимир.
Пользователь
 
Регистрация: 13.08.2009
Сообщений: 10
По умолчанию

Правильно, но кто же не даёт Вам изначально иметь скрытыми страницы и только при полном совпадении имени/пути (+пароль после открытия файла .xls) показывать их снимая и ставя снова пароль.
Владимир. вне форума Ответить с цитированием
Старый 17.08.2009, 16:05   #7
nik1905
Пользователь
 
Регистрация: 27.07.2009
Сообщений: 27
По умолчанию

Всем большое спасибо за помощь!!! Очень помогло!!
nik1905 вне форума Ответить с цитированием
Старый 17.08.2009, 16:43   #8
FARTING
 
Регистрация: 17.08.2009
Сообщений: 7
По умолчанию

А как можно защитить ячейку от изменения?!
FARTING вне форума Ответить с цитированием
Старый 17.08.2009, 16:46   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Посмотрите здесь:
как можно защитить ячейку от изменения

На будущее - сначала задавайте свои вопросы Яндексу...
EducatedFool вне форума Ответить с цитированием
Старый 12.05.2010, 00:13   #10
Алексей Трошкин
Пользователь
 
Регистрация: 02.05.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от nik1905 Посмотреть сообщение
PS также было бы интересно узнать как, скрыть макросы, запретить доступ к ним и их изменение, в той же самой книге!! СПС
По мнению авторитетных авторов единственным способом реальной защиты кода заключается в его выносе за пределы Excel, как правило в среду VB6. Можно использовать DLL проекты VB6 т.е. сам код находится в скопилированном DLL коде, а в рабочие книги включить лишь простой код инициализации DLL- проекта и вызова его процедур.
Вложения
Тип файла: zip Общая форма Excel и Word.zip (2.06 Мб, 54 просмотров)
Алексей Трошкин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
exel и delphi Demagog БД в Delphi 10 29.10.2009 17:19
Макрос в Exel Tomatos БД в Delphi 1 16.06.2009 17:33
EXEL Artomes Microsoft Office Excel 0 02.11.2008 23:18
Exel MAcK Microsoft Office Excel 1 30.04.2007 15:21