2016-08-17 4 views
1

мне было интересно, если кто-нибудь может мне помочь, чтобы отключить опцию Дополнительно фильтр в Excel 2013.Отключить Расширенный фильтр в Excel 2013

Я использовал следующее, чтобы отключить все другие параметры ленты данные:

.Protect UserInterfaceOnly:=True 

Но расширенный фильтр по-прежнему можно выбрать. При этом они могут отфильтровывать данные.

Следующий код используется для работы в более ранних версиях Excel, но я не могу заставить его работать в Excel 2013:

Application.CommandBars("Worksheet Menu Bar").Controls _ 
    ("&Data").Controls("&Filter").Controls("&Advanced Filter...").Enabled = False 

Если кто-то может помочь мне с этим или мне точку в правильном направлении то это было бы оценено.

Спасибо, ребята.

+0

Что вы надеетесь получить от предотвращения изменения фильтров? Если у вас есть данные, которые вы не хотите, чтобы люди просматривали, тогда предоставляете доступ только к редактируемому документу. Любой, кто имеет доступ к вашей фильтрованной электронной таблице, все равно может прочитать базовый файл для просмотра скрытых данных. – Phylogenesis

+0

Hi Phylogenesis. Я написал код для обнаружения идентификатора сотрудника пользователей на основе имени пользователя компьютера «Int (Environ (« Username »)) и он фильтрует данные только для отображения своих данных.Я защитил лист, чтобы они не могли получить доступ к чему-либо еще, но проблема с расширенным фильтром вызывает проблему. Я понимаю, что если они действительно захотят войти в код, чтобы отключить это, то они могут, но это просто для того, чтобы большинство пользователей не получало доступ к этому. –

+0

Проблема в том, что вы можете прочитать файл за пределами Excel (или использовать VBA) для чтения скрытых данных. Если вы делаете это по соображениям безопасности, это пустая трата времени. – Phylogenesis

ответ

1


Решение Похожие
подход будет скрытие кнопки из пользовательского интерфейса: преимущество на этом решении является то, что код не в VBA (целиком) так, не так просто для пользователю изменить его (или узнать, что происходит за кулисами).
Ответ Объяснение/Следующие шаги
Это действительно глубокий ответ со многими шагами, участвующих в ней так, я просто опубликовать рекомендации и некоторые полезные ссылки, таким образом Вы можете исследовать об этом первым.
1. Загрузить Custom UI Editor for Microsoft Office: это помогает изменить пользовательский интерфейс для документа.
2. Ищите учебники; начните код там с чем-то основным, например добавлением вкладки и кнопки, (this is a good one)
3. Вернитесь в Excel, найдите жизненный цикл и пользовательские события, this is a good place to start
4. Вам нужно поймать событие, когда лента загружена ; в это время вам нужно будет отключить кнопку, эти ссылки (1, 2) полезны для показа шагов и некоторых примеров книг для нее.
5. Найдите идентификатор кнопки и отключите его (Подсказка: idMSO = AdvancedFilterDialog, если вы следовали предыдущим шагам, это будет иметь смысл здесь).
Дополнительная информация/Ответ Отказ от ответственности
Excel не является программное обеспечение, которое может обрабатывать безопасности глубоко; если вы пытаетесь каким-то образом ограничить пользователя в исходном файле, вы должны попробовать другие подходы. -IG: копия рабочей книги только для справки, в то время как главная из них сохраняется в sharepoint, только модифицируемой людьми, уполномоченными на это.

В то время как часто задаваемые вопросы в S.O строго касаются ссылок на другие сайты, не используя для этого правильную ссылку, это глубокое шаговое решение, которое потребует страниц для объяснения даже случайного примера; обращаясь к руководящей теме, этот ответ должен быть в порядке.

Смежные вопросы