Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уровень доступа к листу в книге MS EXcel, скрытие листов дял группы пользователей 
:(
    Опции темы
_RlX_
Дата 15.4.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Доброго времени суток!

У меня следующий вопрос к аудитории:
Есть ли возможность организовать разделенный доступ к к листам книги MS Excel?
Т.е. Например, при открытии книги пользователем Петровым П.П. - ему доступны (видны) только лист1 и лист2. В свою очередь, если книгу открывает пользователь Сидоров С. С., то ему доступны (видны) только листы 3 и 4 и он не может просматривать информацию с листов 1 и 2 (данные листы скрыты).

Есть ли возможность программно узнать кто открывает книгу?
Как изначально скрыть все листы , не используя макросов?
PM MAIL   Вверх
bilya
Дата 16.4.2007, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1



Сделать диалоговое окно ввода пароля, которое открывается по Open книги, а листы скрываются. Там, в зависимости от введеного пароля, идет управление Visible листов. Вроде делается
 smile 
PM MAIL   Вверх
_RlX_
Дата 17.4.2007, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Как вариант - сделать можно, только не каждый пользователь желает вводить пароль. Хотят просто зайти и чтоб уже все было... Тем более такая организация на уровне пароля означает, что у группы пользователей с одинаковыми правами должен быть один и тот же пароль и  смена пароя одним из членов группы приведет к необходимости информировать об этом остальных...

И второй момент - что будет, если отрубить макросы в книге?

Это сообщение отредактировал(а) _RlX_ - 17.4.2007, 04:15
PM MAIL   Вверх
Genyaa
Дата 17.4.2007, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



Можно и без пароля, конечно... но все равно привязка анализа к WorkBook_Open кажется единственно верным решением. Можно вместо пароля при открытии анализировать имя пользователя Application.UserName и/или что-нибудь еще, например, использовать объект UserAccess Object (особенно обратитите внимание на свойство AllowEdit), UserAccessList Collection и UserAccess Object...

Если макросы будут отключены, то никакого управления скрытостью разных листов осуществляться не будет... Но можно организовать управление защитой книги через макросы так, что при отключенных макросах никаких изменений в книгу внести никому не удастся (ну, при условии, что никто намеренно не пытается обойти или взломать эту защиту, конечно).

--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
_RlX_
Дата 17.4.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Попробую вышеупомянутые объекты. Спасибо.

Но один вопрос так и остался открытым. То, что можно защитить листы от изменения - это я знаю. Больше интересно другое - можно ли их защитить от просмотра? т.е. запретить просмотр всех листов в случае, если макросы отключены? Другими словами важно то, чтобы эти данныене могли просмотреть. 
PM MAIL   Вверх
Genyaa
Дата 17.4.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



В книге должен оставаться хотябы один видимый лист, поэтому можно сделать так:
Код

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each s In ThisWorkbook.Sheets
        If s.Index <> 1 Then s.Visible = False
    Next s
    ThisWorkbook.Save
End Sub


А на первом листе разместить какую-нибудь общую информацию (например, приветствие и разъяснение того, что необходимо включить макросы).

Тогда если книга защищена, то после закрытия книги с включенными макросами и последующем открытии книги с отключенными макросами все листи кроме первого будут скрытыми и их невозможно будет сделать видимыми (без знания пароля, конечно). Управление видимостью листами необходимо будет реализовывать через другой макрос, как говорилось раньше.
--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
_RlX_
Дата 17.4.2007, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Ок! 
Большое спасибо! 
Попробую.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.