|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.01.2009, 15:36 | #1 |
Новичок
Джуниор
Регистрация: 21.01.2009
Сообщений: 2
|
Excel и безопасность.
Здравтвуйте!
Есть файл excel, в котором есть поля, используемые как входные данные ("входные ячейки"). На основе этих данных ведется расчет в файле. И есть поля с выходными данными ("выходные ячейки"). Задача следующая: Ограничить доступ пользователей к файлу (чтобы не было возможности копировать файл, просматривать макросы и тд). Но при этом каким-то образом организовать возможность ввода данных во входные ячейки и видеть результаты выходных ячеек Подскажите, пожалуйста, как это можно сделать? |
21.01.2009, 15:42 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Запретить просматривать макросы - можно (но если пользователь ОЧЕНЬ захочет их посмотреть, то ему это всё равно удастся)
Исключить возможность копирования файла - только что разве средствами ОС (ограничение прав доступа на файл). Excel тут ни при чём - пользователь просто скопирует файл, не открывая его. Короче, стойкость защиты во многом зависит от уровня "любознательности" пользователя. При желании все эти защиты можно обойти. |
21.01.2009, 16:33 | #3 |
Новичок
Джуниор
Регистрация: 21.01.2009
Сообщений: 2
|
Меня интересуют любые средства - например, доступ через Access, через какие-то инструментарии средств разработки. В общем, любой способ.
Возможно, конечно, это надо было не здесь спрашивать, но все же Спасибо за ответ! |
21.01.2009, 16:47 | #4 |
Форумчанин
Регистрация: 19.01.2008
Сообщений: 120
|
юзайте Tools->Protection . Там все это можно зделать, ну кроме конечно "чтобы не было возможности копировать файл"
|
22.01.2009, 03:55 | #5 | ||
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Цитата:
А вот открыв файл можно сделать ВСЕ Цитата:
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах |
||
22.01.2009, 06:32 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
В принципе, задача реализуема, если уровень компьютерной грамотности пользователей невысок.
Защиту от копирования (точнее, от использования файла на другом компьютере) реализовать можно... 1) Всё работает только в том случае, если включены макросы. Для необходимости включения макросов пользователем перед сохранением файла программно скрываем (xlSheetVeryHidden) все листы (оставляя видимым один пустой лист) Отобразить листы сможет только макрос (доступ к макросам запаролен) 2) Делаем привязку файла к жесткому диску (3 строки кода) и к полному пути файла (1 строка кода) Таким образом, если файл будут пытаться открыть на другом компе или из другой папки (или даже просто переименовав файл), он самоуничтожится и закроется. Повторюсь: профессионал сможет легко обойти такую защиту, но пользователю она доставит немало хлопот... |
22.01.2009, 06:45 | #7 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
Я думаю в тему будет поинтересоваться о привязке именно к жесткому диску. КАК это реализуется!?
И вообще, каковы возможности VBA в привязке к железу? и как это реализуется?
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах Последний раз редактировалось cent; 22.01.2009 в 06:51. |
22.01.2009, 07:07 | #8 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Код:
Разумеется, выводить MsgBox с сообщением перед удалением листов нельзя - нажатием Ctrl + Pause выполнение макроса легко остановить. (в принципе, это решается путём application.EnableCancelKey=xlDisab led) Есть ещё множество нюансов, но, в любом случае, полноценной защиты не обеспечить. Пока ещё не существует такой программы, которую невозможно было бы взломать. Что уж говорить про защиту файла Excel... |
||
16.02.2009, 01:15 | #9 |
Пользователь
Регистрация: 27.11.2008
Сообщений: 16
|
К вопросу о защите файла...
Не хотел создавать новую тему - позвольте задам вопрос здесь! Как-нибудь можно установить низкую безопастность макросов именно для данного файла средствами VBA без привязки к определенному компьютеру? Т.е. чтобы перед открытием файла Exсel не спрашивал и не отключал макросы, а сразу запускал книгу с ними? Последний раз редактировалось SStone; 16.02.2009 в 01:17. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
информационная безопасность | mafusha | Безопасность, Шифрование | 3 | 13.11.2008 16:01 |
Новый модератор в разделе Безопасность | Alar | О форуме и сайтах клуба | 6 | 12.10.2008 15:04 |
Безопасность и DLL библиотеки | PAVEL315 | Безопасность, Шифрование | 3 | 10.03.2007 20:31 |