- ベストアンサー
EXCEL VBAマクロ中断でデバッグ(コード閲覧)できないようにしたい
EXCEL VBAで、ツール開発をしております。 エラー処理等、組み込んではおりますが、想定外のエラーが起きたときに、ご存知のとおりエラーメッセージウインド([継続] [終了] [デバッグ] [ヘルプ]ボタンが表示されるウインド)が出ます。 これを、出さないようにするか、あるいは[デバッグ]ボタンのみを非表示(グレーアウト可)させたいのです。 理由は、VBAコードを見られないようにマクロにパスワードをかけているのですが、エラーが出て[デバッグ]ボタンを押すと、パスワードを無視して簡単にVBAコードにアクセスできてしまい、すべてのコードが参照可能になってしまいます。 これを防ぎたいのです。 何か良い方法はございますでしょうか? お知恵をお貸しください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> エラーが出て[デバッグ]ボタンを押すと、パスワードを無視して簡単にVBAコードにアクセスできてしまい、すべてのコードが参照可能になってしまいます。 パスワードを設定して「プロジェクトを表示用にロックする」にチェックもいれてるんですよね? なら、編集のためなどで一回VBEを開けてませんか? 一度BOOKを終了して再度立ち上げたらそうはならないと思いますが。
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
内部にエラー処理ルーチンを作成されているかもしれませんが、処理対象外のエラー(あるいは全部?)に対してもエラー処理をして、 継続不能のエラーが発生しました。処理を中断します。 (エラー番号:××××) みたいな表示を出して、正常終了(処理を中断)してしまえばよいのでは?
補足
ありがとうございます。。。 ん~やはりそうですか・・ On Error GoTo Error_hoge ・ ・ ・ Exit Sub Error_hoge: MsgBox ・・・ End Sub みたいに、Sub内の前後にエラー処理を入れるしかないんですかね? あと、Ctrl+Cでブレイクできないようにすることも必要なのかな。。。
補足
ありがとうございます。 パスワードを設定して「プロジェクトを表示用にロックする」にチェックも入れています。 確かに作成しているのが自分なので編集のため、一回VBEを明けていますね。 おっしゃるとおりやってみたら、[終了]ボタン以外はグレーアウトされていました。 問題なかったんですね。 念のため、No.1で返答したエラー処理も入れておこうかと思っております。