• 締切済み

マクロを有効にしないとExcelファイルが開けない、もしくはマクロを有

マクロを有効にしないとExcelファイルが開けない、もしくはマクロを有効にしないとセーブができない、コピーできないなどという処理はできるのですか? 改ざん防止などで有効活用したいのですが。ちなみに、VBEはパスワードをかけたりはして見えないようにしてます。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

本格的には無理だと考えたほうがよいのではないかと思います。 あまり大した内容ではありません。 それを前提で書かせていただきます。 一般的に聞かれる方法です。 ダミーのシートを1つ用意して、実際の使用するシートは、すべて非表示(VeryHidden)にします。 そして、ブックの保護とシートの保護をしておいたほうがよいです。 >マクロを有効にしないとセーブができない、コピーできないなどという処理はできるのですか? それは、セーブできない方法は、ブックにパスワードで、開けないようにすればいいと思います。 ThisWorkbook モジュールで、 Private Sub Workbook_Open() で、マクロで実行、非表示を表示にして、ブックの保護とシートの保護を外します。 シートをEnableSelection プロパティでマウスの範囲選択は出来ないようにします。そうすれば、範囲に対してコピーは出来ません。 終了する時は、 Private Sub Workbook_BeforeClose(Cancel As Boolean) Open の逆をすればよいです。 また、マクロはマクロもで、完全にマクロを拒否(セキュリティ:最高)していなければ、CA局のあるデジタル署名を入れれば、それなり(高以下)で動くはずです。しかし、そのデジタル署名は、たぶん、最低でも、7万円ぐらい取られるはずです。 決定的なものは知りません。私が考えた方法もあります。ただ、穴はありますが、要するに、管理番号をどこかに入れておきます。渡した人を記録し、コピーしたら、誰が情報を漏らしたか探るという方法を考えました。不特定多数には無理ですが、限定の人に渡すなら管理可能です。他にもあります。ある会社の管理方法ですが、コンピュータ固有番号とソフトの固有番号とを合わせて、実行ソフトと、PCのレジストリに記録して、起動時にそれをチェックさせる方法です。そうすると、仮にデータ側はあっても、レジストリのどこに書き込まれたか、書き込まれた時にレジストリの記録を取らないと発見できません。これでは、ほとんど分かりません。そうすると、認められた人にしか、ソフトは使えないという方法です。(私個人は作ったことはありませんが、そんなに難しくないはずです) もちろん、Excel等は、開いたブックの本体はデータだけですから、マクロもセキュリティも関係ありませんから、仮に、コピーしなくても、手書きであろうが、複製自体はできてしまいます。 それ以上の問題は、IRMの設定を設けるか、Ver 2007の配布用ブックにするればよいはずです。 MS側のIRMは、発想の転換で、それを閲覧する人を管理することと、期限付きにするということです。

関連するQ&A