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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2009, 16:56   #1
streamstr
Новичок
Джуниор
 
Регистрация: 02.03.2009
Сообщений: 2
По умолчанию Как поставить на файл Word пароль?

Видел похожие темы, но не совсем то, что нужно, поэтому решил создать новую. Задача в следующем: Есть вордовский файл, надо с помощью VBA сделать так, чтобы при его открытии вылезала форма с просьбой выбрать имя пользователя из комбо-бокса, и ввести в текстовое поле пароль. При верном вводе файл должен открыться. Как бы это сделать?
streamstr вне форума Ответить с цитированием
Старый 02.03.2009, 17:52   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Например, вот так. Попробуй открыть документ. Пароль=имя пользователя
Правда, если отключить макросы, то ничего не получится.
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 15.04.2009 в 14:44.
viter.alex вне форума Ответить с цитированием
Старый 02.03.2009, 18:40   #3
streamstr
Новичок
Джуниор
 
Регистрация: 02.03.2009
Сообщений: 2
По умолчанию

Спасибо больщое, все работает!
streamstr вне форума Ответить с цитированием
Старый 02.03.2009, 18:48   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

А как ты собираешься задавать имена пользователей? Это же я пример сделал. Имена пользователей хранятся в переменных документа. Там еще нужно кнопку добавить для ввода нового пользователя или как-то еще это решить.
И, повторюсь, с выключенными макросами ничего работать не будет и документ откроется.
Можно подумать, конечно, как менять пароль на открытие документа до его открытия пользователю…
Может кто из гуру подкинет идею?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 02.03.2009, 19:25   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
как менять пароль на открытие документа до его открытия пользователю…
В Excel, к примеру, подобная задача реализуется очень просто - без включения макросов пользователь увидит только пустой лист, а все нужные листы будут скрыты.
Если макросы включены, то запрашивается пароль, и нужные листы отображаются, а пустой скрывается.
При каждом сохранении файла производится обратная операция.

Объектную модель Word-а я не знаю (есть ли там возможность макросом блокировать отдельные участки документа), но могу предложить другой вариант реализации.
Но для этого понадобятся 2 файла...

1 файл - основной документ. Он запаролен, причём в пароле можно использовать непечатаемые символы.
Без макросов (вручную) его вообще никак не открыть.
(программы для взлома паролей мы сейчас не обсуждаем)

2 файл - что-то вроде страницы доступа к основному файлу.
Текста в нём нет - есть только код.
Открыв его без макросов, мы ничего не добьёмся - увидим только чистый лист.
Открыв же его с включенными макросами, мы увидим запрос на открытие основного файла, где будет предложено ввести логин и пароль.
И, если всё введено правильно, макрос из этого 2-го файла сам открывает первый файл (основной), используя сложный пароль с непечатаемыми символами (программно, как известно, можно ввести почти любой пароль)

Других вариантов решения в случае с документами Word я не знаю...
EducatedFool вне форума Ответить с цитированием
Старый 02.03.2009, 20:33   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Это выход.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 11.05.2010, 18:49   #7
eldarik
Пользователь
 
Регистрация: 17.01.2010
Сообщений: 10
По умолчанию

а если это файл txt?
eldarik вне форума Ответить с цитированием
Старый 11.05.2010, 20:02   #8
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

eldaric, если это файл txt вас спасёт WinRar с длинным паролем
viter.alex, можно попробовать следующую игрушечную схему:
1) устанавливаем для всего документа .font.hidden = true
2) устанавливаем для всего документа режим "только для чтения" c
непечатным паролем
ActiveDocument.Protect Password:=".....", Type:=wdAllowOnlyReading, ...
3) добавляем в обработку открытия макрос, снимающий пароль и восстанавливающий читаемость документа и в обработку закрытия -
восстановление "защиты"
Aent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
Как поставить оповещение в Access? xruss Microsoft Office Access 11 05.12.2008 10:27
Как создать новый файл Word из макроса Excel? Dorvir Microsoft Office Excel 12 08.07.2008 16:50
Подскажите, как поставить 2 ОС Красавчег))) Операционные системы общие вопросы 24 15.01.2008 21:28
Как атрибут поставить delphin100 Общие вопросы Delphi 9 14.01.2008 23:15