lisa
1

Несовместимость защиты листа и работы автофильтра

22.10.2009, 09:42. Показов 2791. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программно скрываю ненужные юзеру столбцы, ставлю защиту на лист, чтобы не смог сделать их отображение. Но при защите листа не работает автофильтрю Что делать? Можно не ставить защиту и сделать недоступным меню Формат, но при этом еще остается контекстное меню, а я не знаю, как в нем убрать режим Отобразить столбцы. Подскажите, пожалуйста. Office XP.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2009, 09:42
Ответы с готовыми решениями:

Как проверить на заполненность листа после автофильтра?
Есть макрос, который открывает файл, фильтрует, и после фильтрации выделяет отфильтрованные строки...

Снятие защиты листа в книге
Пишу программу, по сборы данных из разных книг в одну,всё бы ничего, но лист который мне нужен...

Можно ли отловить Unprotect снятие защиты листа?
Можно ли отловить Unprotect снятие защиты листа? Т.е. хочу сделать, если были попытки взлома...

Запретить вставку строк и столбцов без защиты листа
Запретить вставку строк и столбцов без защиты листа?????

5
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 101
22.10.2009, 11:48 2
а в чем проблема?
у метода protect есть очень много опций, открой Help и посмотри, среди них есть AllowFiltering. Вот и установи его значение равным True
Еще полезно установить UserInterfaceOnly=True, тогда защита действует только от бестолкового юзера, а макросам - пофиг, не обращают внимание на защиту.
0
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 101
22.10.2009, 11:52 3
А чтобы не было в контекстном меню 'Отобразить', убери заголовки строк и столбцов через Сервис-Параметры-Вид, так и вид листа красивее будет
0
lisa
22.10.2009, 13:55 4
Спасибо за ответ, но в Helpe синтаксис выглядит так: expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly), не увидела я ничего по фильтру. Вариант с видом листа работает, но ведь кто-нибудь умный догадается, опять включит, и увидит то, что ему не надо. Предвижу советы уйти из Excel, но пользователю нужен именно такой файл. Быть может кто-то знает, как работать с контексно-зависимым меню?
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 101
22.10.2009, 14:47 5
а ты уверена, что у тебя Excel 2002? по приведенному тобой синтаксису у тебя или 2000 или Help от 2000
а с контекстным меню работать - ничего сложного.
обрабатываешь событие листа BeforeRightClick
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

cancel=true' отключение встроенного контекстного меню
End Sub

здесь же можно вставить вывод собственного контекстного меню, что-то вроде MyMenu.ShowPopup(MyMenu - Commandbar с параметром Position:=msoBarPopup), если не знаешь как писать меню - помогу.

Теоретически, конечно можно во встроенном меню для команды 'Отобразить' присвоить значение Enabled=false, но нужно знать как именно это меню называется или его индекс в семействе, что довольно таки трудоемкая процедура
0
lisa
25.10.2009, 07:22 6
Еще раз спасибо. С менюшкой все получилось.
25.10.2009, 07:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2009, 07:22
Помогаю со студенческими работами здесь

Копирование отфильтрованного диапазона с защищенного листа книги, с удалением формул и защиты на копии
Добрый день! Подскажите, пожалуйста. Есть данный макрос: Sub CopyFilter() Dim sh As Worksheet ...

"Прыжки" курсора при снятии защиты листа
Всем привет. При загрузке книги хочу, чтобы на всех листах, если они защищены (или если будут...

Написать макрос для работы в копии документа и защиты оригинала от копирования
Здравствуйте, форумчане! Подскажите решение... Есть книга-таблица в эксель для работы с...

Как написать что-то вроде эксплоита для защиты своей работы?
Да, я не опытный программист, но хотел бы знать ( на будущее), как написать что-то вроде эксплоита...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru