- ベストアンサー
コードの非表示
VBコードを非表示にしたいのですが。 ツール→VBAプロジェクト→保護→プロジェクトのロックで パスワードを設定しました。非表示になり、表示するためには 正しいパスワードを入力しないと出来ません。 うまくいったようですが、穴がありました。 シートを他のブックに移動すると、プロジェクトのロックが 解除され、パスワード無しで表示されます。 コード非表示の完璧な方法は無いでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シートの保護ではなくブックの保護からシート構成のみを保護すれば、セルに入力は出来ますよ。 ご希望の動きかはわかりませんが、以下の手順で可能です。 [ツール]-[保護]-[ブックの保護]-[シート構成]にチェック
その他の回答 (2)
- korin_
- ベストアンサー率69% (46/66)
こんにちは。 シートのコピーを禁止して、シート自体をコピーや移動が出来ないようにするのではダメですか? [ツール]-[保護]-[ブックの保護]-[シート構成]にチェック
お礼
こんばんは。 ご回答、ありがとうございました。 コードでのプロテクトが難しいと感触を持った時に 実は私もシートの保護を考えましたが、リードオンリー になってしまうのを再確認し、断念しました。 シート保護でも(Excelのバージョンに拠らないで)セルへの 入力が出来れば良いのですが。
- diashun
- ベストアンサー率38% (94/244)
確かに、シートを移動またはコピーすると、元ブックのロックが解除されます。これを防ぐ方法はわかりませんが、コピーされるのはシートモジュールだけで、標準モジュールはコピーされません。したがって、シートモジュールには、最低限のサブモジュール呼び出しのソースしか記述せず、サブモジュールはすべて標準モジュールに記述しておけば、ソースの秘匿性は守られるはずです。とりあえず識者のより高度なお助けがあるまでの次善の策ですが・・・。
お礼
早速の、ご回答ありがとうございました。 重要なモジュールのみを標準モジュールに記述しておけば 確かにパクリは防げますね。 早速、やってみます。ありがとうございました。
お礼
こんばんは。再度の回答、ありがとうございました。 ご回答のとおりでるのを確認しました。 どうもスクリプトの方ばかりに目がいって、Excelの 基本的な使い方を知らないのが良く判りました。 反省!冷汗!