質問

Excelプロジェクトに追加のレベルのセキュリティを追加する可能性を探しています。

複数のユーザーがいます。 VBAマクロのロックを解除するパスワードを知っている(そして意図している)人もいます。他の人はこれらにアクセスできるようにすることを意図していません。

誰かがパスワードを持っていないかどうかはわかりません(パスワードを変更すると改ざんが停止しませんでした)。承認されていないユーザーのVBA編集ウィンドウを無効にしたいと思います。しかし、これを行う方法が見つかりません、それは可能ですか?

すべてのユーザーがデータを保存する必要があるため、保存オプションを無効にすることはできません。

リボンアイコンなどを無効にしようとしましたが、成功しませんでした。 Alt+F11でコードウィンドウを開くことはまだ可能です。

どんな助けも素晴らしいでしょう。

役に立ちましたか?

解決

私は2003年Excelから来ていますが、この概念もあなたのために働くはずです。あなたは考えることができます

  • Alt-F11キーをトラップする(Application.OnKey "%{F11}" "MyNullSub")プラス
  • 関連するメニューエントリを無効にします(Application.CommandBars(...).FindControl(ID:=..).OnAction = "MyNullSub")

Sub MyNullSub()
' do nothing
End Sub

存在する必要があるレジストリのエントリの依存関係として(GetSetting(...))、しかし、これは、この追加の秘密が(変更された)パスワードが明らかにしたのと同じように広がるまでのみ役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top