![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 02.03.2009
Сообщений: 2
|
![]()
Видел похожие темы, но не совсем то, что нужно, поэтому решил создать новую. Задача в следующем: Есть вордовский файл, надо с помощью VBA сделать так, чтобы при его открытии вылезала форма с просьбой выбрать имя пользователя из комбо-бокса, и ввести в текстовое поле пароль. При верном вводе файл должен открыться. Как бы это сделать?
|
![]() |
![]() |
![]() |
#2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Например, вот так. Попробуй открыть документ. Пароль=имя пользователя
Правда, если отключить макросы, то ничего не получится.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 15.04.2009 в 14:44. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 02.03.2009
Сообщений: 2
|
![]()
Спасибо больщое, все работает!
|
![]() |
![]() |
![]() |
#4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
А как ты собираешься задавать имена пользователей? Это же я пример сделал. Имена пользователей хранятся в переменных документа. Там еще нужно кнопку добавить для ввода нового пользователя или как-то еще это решить.
И, повторюсь, с выключенными макросами ничего работать не будет и документ откроется. Можно подумать, конечно, как менять пароль на открытие документа до его открытия пользователю… Может кто из гуру подкинет идею?
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#5 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Если макросы включены, то запрашивается пароль, и нужные листы отображаются, а пустой скрывается. При каждом сохранении файла производится обратная операция. Объектную модель Word-а я не знаю (есть ли там возможность макросом блокировать отдельные участки документа), но могу предложить другой вариант реализации. Но для этого понадобятся 2 файла... 1 файл - основной документ. Он запаролен, причём в пароле можно использовать непечатаемые символы. Без макросов (вручную) его вообще никак не открыть. (программы для взлома паролей мы сейчас не обсуждаем) 2 файл - что-то вроде страницы доступа к основному файлу. Текста в нём нет - есть только код. Открыв его без макросов, мы ничего не добьёмся - увидим только чистый лист. Открыв же его с включенными макросами, мы увидим запрос на открытие основного файла, где будет предложено ввести логин и пароль. И, если всё введено правильно, макрос из этого 2-го файла сам открывает первый файл (основной), используя сложный пароль с непечатаемыми символами (программно, как известно, можно ввести почти любой пароль) Других вариантов решения в случае с документами Word я не знаю... |
|
![]() |
![]() |
![]() |
#6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Это выход.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 17.01.2010
Сообщений: 10
|
![]()
а если это файл txt?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
![]()
eldaric, если это файл txt вас спасёт WinRar с длинным паролем
![]() viter.alex, можно попробовать следующую игрушечную схему: 1) устанавливаем для всего документа .font.hidden = true 2) устанавливаем для всего документа режим "только для чтения" c непечатным паролем ActiveDocument.Protect Password:=".....", Type:=wdAllowOnlyReading, ... 3) добавляем в обработку открытия макрос, снимающий пароль и восстанавливающий читаемость документа и в обработку закрытия - восстановление "защиты" ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как текстовый файл в формате 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 |