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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 20:57   #61
сергей70
 
Регистрация: 26.06.2009
Сообщений: 3
По умолчанию

Нет, требуется не это. Необходимо, чтобы при вводе пользовательского пароля (любого из списка) выходило 2 листа: 1-соответствующий этому паролю, а 2 -общий для всех пользователей. У меня это требуется для сотрудников, считающих себе зарплату - они все могут посмотреть принцип начисления ЗП (условия начисления ЗП у всех одинаковы), а саму зарплату (свою) видит только сотрудник и я.
сергей70 вне форума Ответить с цитированием
Старый 10.07.2009, 04:51   #62
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Необходимо, чтобы при вводе пользовательского пароля (любого из списка) выходило 2 листа...
Для этого, в макрос "HiddenPassword" последней строкой добавьте
Код:
Sheets("Лист1").Visible = True
где вместо "Лист1" подставьте имя требуемого листа.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.11.2009, 09:18   #63
joojle
Пользователь
 
Регистрация: 05.05.2009
Сообщений: 46
По умолчанию

Здравствуйте SAS888!
Я по поводу файла UserControl_6. Можно ли макросы которые находятся в этом файле перенести в OpenOffice.
Спасибо!
joojle вне форума Ответить с цитированием
Старый 03.11.2010, 00:52   #64
s8259
Пользователь
 
Регистрация: 27.07.2010
Сообщений: 50
По умолчанию

SAS888, добрый день! Позвольте 2 вопроса. В посте №46 указан пример UserControl_6, но при его тестировании оказалось, что при вводе любого пароля после команды на закрытие файл закрывается без сохранения. Или я что-то не понял, или что-то неправильно работает.
И второй вопрос. На базе Ваших примеров создал файл с перечнем паролей на открытие. А возможно сделать так, чтобы через определенное количество дней пароли на открытие менялись согласно второму списку паролей, указанных в макросе, т.е. по прошествию этого времени старым паролем было невозможно открыть файл?
Вложения
Тип файла: rar 1.rar (35.9 Кб, 44 просмотров)
s8259 вне форума Ответить с цитированием
Старый 06.11.2010, 09:47   #65
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1. Пароли в файле "UserControl_6.xls" хранятся в массиве "a", который находится в макросе "Private Sub HiddenPassword()". Порядок такой: при вводе пароля, который соответствует нулевому элементу массива - открываются все листы (это для администратора). Далее, при вводе пароля, соответствующего 1-му элементу - откроется 1-й лист и т.д. И, наконец, значение последнего элемента массива - это пароль для сохранения. Т.е. если мы сохраняем книгу, то на запрос пароля на сохранение вводить нужно именно это значение. При вводе неверного пароля, книга закроется без сохранения. Будьте внимательны с количеством элементов массива паролей. Должно быть n = количество_листов + 2, т.к. нулевой - для полного доступа, а последний - это пароль на сохранение.
2. Для того, чтобы пароли изменялись в зависимости олт даты, можно вместо строки
Код:
a = Array("000", "111", "222", "111", "view")
которая имеется в вышеупомянутом макросе, заменить на конструкцию:
Код:
Select Case Date
    Case Is > #11/25/2010#: a = Array("ааа", "ббб", "ввв", "ггг", "ддд")
    Case Is > #11/15/2010#: a = Array("aaa", "bbb", "ccc", "ddd", "eee")
    '''
    Case Else: a = Array("000", "111", "222", "111", "view")
End Select
Т.е. если дата превышает 15 ноября 2010г., то пароли одни. Если дата превышает 25 ноября 2010г., то пароли другие и т.д. Обратите внимание, что сравнения нужно производить сверху вниз, т.к. оператор Select Case работает до первого выполненного условия. Все последующие игнорируются.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.11.2010, 12:47   #66
s8259
Пользователь
 
Регистрация: 27.07.2010
Сообщений: 50
По умолчанию

Спасибо, все получилось. А еще вопрос: "Возможно ввести в этот макрос обработку, при которой на определенную дату данный документ Excel придет в безвозвратную негодность (например, удаление всех формул или т.п.)?
s8259 вне форума Ответить с цитированием
Старый 10.11.2010, 12:56   #67
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
...данный документ Excel придет в безвозвратную негодность...
Да. Возможно. Можно даже удалить файл (сам себя) при попытке открыть его после определенной даты.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 10.11.2010 в 13:04.
SAS888 вне форума Ответить с цитированием
Старый 10.11.2010, 19:52   #68
s8259
Пользователь
 
Регистрация: 27.07.2010
Сообщений: 50
По умолчанию

Подскажете, как это можно организовать в данном примере?
s8259 вне форума Ответить с цитированием
Старый 10.11.2010, 21:30   #69
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Существует вот такой код.
Автор основы кода pashulka (Климов П.Ю.), доработан Pavel55
Код:
Private Sub ExpirationDate()
'ВНИМАНИЕ !!!!
'ТЕСТИРОВАТЬ НА НЕНУЖНОМ ФАЙЛЕ
'ФАЙЛ САМ УДАЛИТЬСЯ, ЕСЛИ ДАТА В КОДЕ БУДЕТ РАНЬШЕ, ЧЕМ СЕГОДНЯШНЯЯ

If Date >= #8/1/2007# Then 'месяц/число/год - 1 Августа 2007г.
iFullName$ = ActiveWorkbook.FullName
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
Application.DisplayAlerts = True
SetAttr iFullName$, vbNormal: Kill iFullName$
ActiveWorkbook.Close saveChanges:=False
End If
End Sub
Также можно посмотреть вот эту тему Удаление рабочей книги на нашем форуме.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 10.11.2010 в 22:03.
VictorM вне форума Ответить с цитированием
Старый 11.11.2010, 21:34   #70
s8259
Пользователь
 
Регистрация: 27.07.2010
Сообщений: 50
По умолчанию

Вставил вышеуказанный код во все модули и саму книгу, никуда файл не пропал. Может подскажите, в чем дело?
Вложения
Тип файла: rar Пример.rar (27.0 Кб, 36 просмотров)
s8259 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью формы календарь, передвигаться по листам книги Excel Deni55 Microsoft Office Excel 3 15.04.2009 12:57
Меню для книги tae1980 Microsoft Office Excel 3 15.04.2009 06:15
Программное создание книги Волк Microsoft Office Excel 2 16.03.2009 07:57
Открытие Excel-книги Леон Microsoft Office Excel 1 04.07.2008 09:14
Как запустить макрос при изменении другой книги Excel? Град Microsoft Office Excel 12 10.06.2008 10:01