2016-08-17 6 views
1
誰もが他のすべてのデータのリボンオプション無効にするには、次の私が使用している

無効に高度なフィルタ2013

エクセル2013で高度なフィルタオプションを無効にするには私を助けることができれば、私は思っていた

.Protect UserInterfaceOnly:=True 

しかし、まだ高度なフィルタを選択することはできます。これにより、データをフィルタリングすることができます。

次のコードは、Excelの以前のバージョンで動作するように使用されるが、私はそれがエクセル2013のために働くように見えることはできません。

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

誰もがこれで私を助けたり、正しい方向に私を指すことができればそれは高く評価されるでしょう。

ありがとうございます。

+0

誰かがフィルタを変更しないようにすることで、どのような効果が期待できますか?ユーザーに表示させたくないデータがある場合は、編集したドキュメントにのみアクセス権を与えます。フィルタされたスプレッドシートにアクセスできるユーザーは、引き続き隠しデータを表示するために基礎となるファイルを読み取ることができます。 – Phylogenesis

+0

こんにちはPhylogenesis。コンピュータのユーザー名「Int(Environ( "Username"))」に基づいてユーザーの従業員IDを検出するコードを作成し、そのデータのみを表示するようにデータをフィルタリングします。シートを保護して他のものにアクセスすることはできませんが、アドバンストフィルタオプションで問題が発生しています。これを無効にするコードに本当に入りたいと思うのであれば、それは可能ですが、これはほとんどのユーザーがこれにアクセスするのを止めることに過ぎません。 –

+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.リボンがロードされたらイベントをキャッチする必要があります;その時、ボタンを無効にする必要があります。これらのリンク(12)は、手順といくつかのブックの例を示すのに便利です。
5.ボタンのIDを見つけて無効にしてください(ヒント:idMSO = AdvancedFilterDialog、前の手順に従えばここで意味があります)。
詳細情報/回答免責事項
Excelは、セキュリティを深く処理できるソフトウェアではありません。ユーザーを何らかの形で元のファイルに制限しようとしている場合は、他のアプローチを試してみるべきです。-IG:参照用のワークブックのコピーです。マスターは共有ポイントに保管され、権限のあるユーザーだけが変更できます。

S.Oのよくある質問は、適切なリファレンスを使わずに他のサイトを参照することについて厳密には厳しいですが、これはページをランダムな例で説明するための深いステップの解決策です。ガイドトピックに魅力的ですが、この回答は大丈夫です。

関連する問題