Страница: 1 |
Страница: 1 |
Вопрос: запись пароля открытия файла в ячейку
Добавлено: 22.02.08 12:58
Автор вопроса: Михаил | ICQ: 193991046
Народ, подскажите, пожалуйста. Можно сделать пароль на открытие файла экселя, а можно ли макросом это введенный пароль записать в ячейку экселя для последуещей работы с ним? Если можно, то как?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Pavel
Вопросов: 0
Ответов: 36
Профиль | | #1
Добавлено: 22.02.08 18:04
А вам стандартные методы не подойдут?
меню Сервис-Параметры-Безопасность-Пароль для открытия
Номер ответа: 2
Автор ответа:
Михаил
ICQ: 193991046
Вопросов: 1
Ответов: 2
Профиль | | #2
Добавлено: 22.02.08 18:42
Подойдет, но меня интересует немножечко не это.
Я хочу от этого пароля разрешать или не разрешать открытие каких-либо листов экселя. Т.е. в зависимости от ввобимого пароля пути расчета дальнейшие разные. Для этого мне надо этот пароль записывать и обрабатывать программно.
Номер ответа: 3
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #3
Добавлено: 29.02.08 13:51
Если групп пользователей немного, то можно воспользоваться Application.UserName.
Он выдает имя пользователя в "среде" Excel (Параметры->Общие->Имя пользователя). В макросе проверять какое имя и в зависимости от него отображать/скрывать листы или производить определенные операции.
Номер ответа: 4
Автор ответа:
LonerWanderer
Вопросов: 18
Ответов: 66
Профиль | | #4
Добавлено: 29.02.08 17:49
Именно пароль, который задается в Сервис-Параметры-Безопасность-Пароль для открытия?
А если создать форму с текстбоксом в точном соответствии с формой запроса пароля, но эта форма будет Вашей и Вы сможете этот пароль обработать.
Насчет application.username я немного не согласен. В нашей контроле там у всех стоит одно значение: User.
Я юзера определяю через Environ. Там можно определить логин входа в систему и от этого уже плясать.
Номер ответа: 5
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #5
Добавлено: 02.03.08 22:27
Я делаю, как раз, через Environ. Очень удобно. У меня есть прайс-лист для внутреннего использования, несколько листов в котором скрыты, причем имеют свойство не просто Hidden, а Very Hidden, т.е. открыть их можно только средствами VBA.
Dim Uname, pGroup As String
Dim rng As Range
Uname = Environ("UserName" 'получаем имя пользователя
Set rng = Worksheets("Users".Cells.Find(What:=Uname, LookAt:=xlWhole) 'ищем на листе со списком пользователей, чтобы определить его принадлежность к группе
If rng Is Nothing Then
MsgBox "Вы не зарегистрированы в нашей системе!", vbCritical + vbApplicationModal + vbOKOnly, "Внимание!!!"
ActiveWorkbook.Close SaveChanges:=False
End If
pGroup = rng.Offset(0, 1)
Select Case pGroup
Case "full", "admin", "master"
...
Case "dealer"
...
Case "retail"
...
End Select
У меня сделано, что в зависимости от группы, к которой принадлежить пользователь, ему доступны определенные цены и дополнительные кнопки управления прайсом. Можно, конечно, убрать лист со списком пользователей, но тогда их имена придется прописывать непосредственно в коде, но мне это неудобно, т.к. этот список частенько меняется.
Номер ответа: 6
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #6
Добавлено: 05.03.08 14:12
Согласна, это корректней. Просто не знала об этой возможности.
Подскажите, плз, как определить логин входа в систему ? Что писать в Environ("?????" ?
Номер ответа: 7
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #7
Добавлено: 05.03.08 20:09
to Jasmin
А вы мой код решили просто проигнорировать? Там все написано...
Номер ответа: 8
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #8
Добавлено: 06.03.08 07:25
Сорри. )) Неверно написала. Нужен был пароль пользователя. Такое возможно ?
Номер ответа: 9
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #9
Добавлено: 06.03.08 19:23
to Jasmin
Девушка, а зачем вам анлизировать пароли? Вы что знаете пароли всех пользователей компьютера/домена? Их даже админ не должен знать! Это как-то смахивает на...