Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Надстройка "Управление видимостью листов" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Надстройка "Управление видимостью листов" (Отобразить/Скрыть/Сильно скрыть (Заныкать) лист)
Надстройка "Управление видимостью листов"
Alex_ST Дата: Среда, 15.02.2012, 10:08 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3059
Репутация: 567 ±
Замечаний: 0% ±

2003
Предлагаемая надстройка добавляет в меню листа (появляется по ПКМ на его ярлыке) после стандартных пунктов "Удалить" и "Переименовать" дополнительные пункты: "Скрыть", "Спрятать", "Управление видимостью листов"

При выборе пункта "Скрыть" производится стандартное скрытие листа методом ActiveSheet.Visible = xlSheetHidden (xlSheetHidden == 0 == True). Это точно то же самое, что делается через меню Формат->Лист->Скрыть
При выборе пункта "Спрятать" производится "сильное скрытие" листа методом ActiveSheet.Visible = xlSheetVeryHidden (xlSheetVeryHidden == 2). Этого сделать через меню Excel нельзя никак. Можно только, войдя в проект в VBE установить это свойство руками (ну или, естественно, программно, что и делают процедуры надстройки).
При выборе пункта "Управление видимостью листов" выводится окно формы, содержащее список ВСЕХ листов книги с пометками возле каждого о текущей видимости листа: V H vH (Visible-Hidden-VeryHidden)
Свойствами видимости любого из листов можно управлять.
На приведённом скриншоте видно, что книга содержит 3 листа: Лист1, Лист2, Лист3

При этом пользователь видит ярлык только листа Лист1.
Ярлыки листов Лист2 и Лист3 не отображаются. Но Лист2 можно отобразить, воспользовавшись Формат->Лист->Отобразить. А вот Лист3 невидим пользователю вообще (Сильно скрыт). Модуль этого листа можно увидеть только в VBE и только там можно управлять его свойствами.

Надстройкой очень удобно пользоваться для скрытия с посторонних (начальственных, например) глаз и от шаловливых рук "шибко дюже грамотных" пользователей листов со вспомогательными данными (например, расценками или именованными диапазонами, используемыми для формирования на видимых пользователю листах выпадающих списков проверки данных).
К стати, если в книге "заныкать" лист и включить защиту паролем проекта VBA, то отобразить заныканные листы кроме как пользователю надстройки или хорошему знатоку VBA будет невозможно, т.к. в проект будет невозможно войти чтобы увидеть, что есть такой никому не видимый лист и руками установить ему свойство Visible (то же самое достигается и включением защищённого от снятия паролем режима общего доступа к файлу).

Автор надстройки не я, а webley, за что ему большой респект и уважуха smile
Я только участвовал на Планете в разработке и "полировал" его решение, выложенное в топике скрыть/отобразить несколько листов
К сообщению приложен файл: 9537471.gif(10.5 Kb) · 4091656.gif(8.5 Kb) · HideShowSheets.xla(62.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 15.02.2012, 10:12
 
Ответить
СообщениеПредлагаемая надстройка добавляет в меню листа (появляется по ПКМ на его ярлыке) после стандартных пунктов "Удалить" и "Переименовать" дополнительные пункты: "Скрыть", "Спрятать", "Управление видимостью листов"

При выборе пункта "Скрыть" производится стандартное скрытие листа методом ActiveSheet.Visible = xlSheetHidden (xlSheetHidden == 0 == True). Это точно то же самое, что делается через меню Формат->Лист->Скрыть
При выборе пункта "Спрятать" производится "сильное скрытие" листа методом ActiveSheet.Visible = xlSheetVeryHidden (xlSheetVeryHidden == 2). Этого сделать через меню Excel нельзя никак. Можно только, войдя в проект в VBE установить это свойство руками (ну или, естественно, программно, что и делают процедуры надстройки).
При выборе пункта "Управление видимостью листов" выводится окно формы, содержащее список ВСЕХ листов книги с пометками возле каждого о текущей видимости листа: V H vH (Visible-Hidden-VeryHidden)
Свойствами видимости любого из листов можно управлять.
На приведённом скриншоте видно, что книга содержит 3 листа: Лист1, Лист2, Лист3

При этом пользователь видит ярлык только листа Лист1.
Ярлыки листов Лист2 и Лист3 не отображаются. Но Лист2 можно отобразить, воспользовавшись Формат->Лист->Отобразить. А вот Лист3 невидим пользователю вообще (Сильно скрыт). Модуль этого листа можно увидеть только в VBE и только там можно управлять его свойствами.

Надстройкой очень удобно пользоваться для скрытия с посторонних (начальственных, например) глаз и от шаловливых рук "шибко дюже грамотных" пользователей листов со вспомогательными данными (например, расценками или именованными диапазонами, используемыми для формирования на видимых пользователю листах выпадающих списков проверки данных).
К стати, если в книге "заныкать" лист и включить защиту паролем проекта VBA, то отобразить заныканные листы кроме как пользователю надстройки или хорошему знатоку VBA будет невозможно, т.к. в проект будет невозможно войти чтобы увидеть, что есть такой никому не видимый лист и руками установить ему свойство Visible (то же самое достигается и включением защищённого от снятия паролем режима общего доступа к файлу).

Автор надстройки не я, а webley, за что ему большой респект и уважуха smile
Я только участвовал на Планете в разработке и "полировал" его решение, выложенное в топике скрыть/отобразить несколько листов

Автор - Alex_ST
Дата добавления - 15.02.2012 в 10:08
Serge_007 Дата: Среда, 15.02.2012, 12:36 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 13204
Репутация: ±
Замечаний: ±

Excel 2010
Quote (Alex_ST)
Оказывается, что больше двух файлов к посту приаттачить нельзя

Алекс, если написать мне в личку, то можно smile


Яндекс-деньги:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
Оказывается, что больше двух файлов к посту приаттачить нельзя

Алекс, если написать мне в личку, то можно smile

Автор - Serge_007
Дата добавления - 15.02.2012 в 12:36
Мир MS Excel » Вопросы и решения » Готовые решения » Надстройка "Управление видимостью листов" (Отобразить/Скрыть/Сильно скрыть (Заныкать) лист)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!