• ベストアンサー

マクロを保護(実行不可)するには?

マクロを保護するために VBAProjectのプロパティにて パスワードでプロジェクトのロックを行いました。 しかしマクロの編集は不可能になりますが マクロの実行は普通にできてしまいます。 初期起動時のみのマクロであり 初回1度のみのマクロのためコマンドボタンにも反映させておらず 他人がこのマクロを実行できてしまうと不都合です。 いい方法は無いでしょうか??

質問者が選んだベストアンサー

  • ベストアンサー
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

こんにちは。 その1 モジュールの宣言セクションに Option Private Module と記述する。 その2 プロシージャ名の前にPrivateを付加する。 Private Sub test() その3 省略できる引数を与える Sub test(Optional a As Long) いずれの場合も、Alt + F8 でマクロの実行ダイアログで、マクロ名を入力すれば実行できるので、マクロ名を知っている人だけが実行できます。

dai-papa
質問者

お礼

解決です。 ありがとうございました。

関連するQ&A

  • マクロが実行できません

    Excel97を使っています。 あるワークブックに4枚のシートがあります。 全てのシートはパスワード付きで保護しています。 VBAProjectのプロパティもパスワード付きで保護しています。 4枚の内の1枚のシートにコマンドボタンを配置して、そのコマンドボタン押下時に、次の動作をするコードを記述しています。 (1)YesNoの確認ダイアログを出す (2)Yesであれば現在のシートをテキスト区切りファイルとして保存する (3)Noであれば何も動作しない ところが、コマンドボタンを押して、確認ダイアログの“はい”ボタンを押すと、「実行時エラー'1004': 'SaveAs'メソッドは失敗しました:'_workbook'オブジェクト」というエラーが出てマクロがストップしてしまいます。 一旦VBAを開いて、VBAProjectのプロパティのパスワード付き保護を解除すれば、正常に動作します。 宜しくお願いします。

  • VBA マクロ保護

    VBA マクロ保護 VBAProject 保護はツールにて保護パスワード設定しています! 私が作ったもので、コマンドボタンをクリックしたら指定された フォルダにコピー(例;Sheet1のみコピー)できるようにしています! そこのコピーのフォルダを開き、ブックを開いてみると シート保護はされていますが コードの表示にパスワード設定がなく、そのまま見えてしまいます。 そこで質問なのですが コードの表示を見れなくさせるために VBA記述でコピーするときにVBAProjectにパスワード設定させたいです。 ちなみにVBAProject本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!

  • VBEコードを保護する方法について

    エクセル2003、VBEの標準モジュールコードウィンドウにマクロを作りました。これを他人に見られないように保護したいと思い、メニュー>ツール>VBAProjectのプロパティ>保護>プロジェクトのロックにチェック>パスワード2回入力>OK>保存と処理した後、そのファイルを開いてモジュールシートを見てみたら見ることはできませんでした。 しかしObjectsフォルダー内のシートに書いたマクロはそのシートを他のブックに移動してみたら見えてしまいました。標準モジュールに書いたものは安心できますか。もしもっといい保護方法が他にあるならば教えていただきたいのですが。

  • VBAでVBAProjectを保護する方法(Excel2000VBA)

    Visual Basic Editorの「ツール」-「VBAProjectのプロパティ」-「保護」で、プロジェクトの保護ができますが、 SendKeysを使う以外でこの操作をマクロで実行することは可能でしょうか? もし可能でしたらそのコードを教えてください。 ヘルプには、Purotectionプロパティ値の取得のみ可能と書いてありますが、他に何か方法があればと思い質問いたしました。 よろしくお願いいたします。

  • エクセル2002 マクロ保護ができなくて困っています

    VBEの中のツール→○○のプロパティーでの保護でパスワードを設定しているのに マクロが表示・変更可能になってしまいます。 どうしたら作成したマクロを非表示にしパスワードをかけて他人が 見ることができなくなるのでしょうか? 教えてください。宜しくお願いします。

  • EXCEL VBAのパスワード解除

    VBAProjectのプロパティ保護としてパスワードをかけたのだが、2年も前のことでそのパスワードが何だったのかわすれてしまったために、マクロの編集ができなくて困っています。どなたか解除の方法があれば教えていただきたい

  • マクロを実行するとシートの保護が解除?

    たとえば。。。 (A1)に任意の数値を入れます。 (A2)には関数を入れます。 こういうレポートを作ったとき、(A2)にロックをかけて上書きされないようにしました。 A1の数値のみを削除するマクロを実行します。 頭の中では、シートの保護はマニュアルで解除しない限り有効だとおもっていたんですが、このマクロを実行するたびに勝手に解除されることに気づきました。 これはどうしてでしょうか?まさか、パスワードを決めずにシートの保護を設定したことは関係ないと思うんですが。 わかりにくくてすみません。

  • エクセルのマクロでパスワードについて教えてください。

    マクロの極初心者ですので、パスワードの解除の仕方について、優しくご教示頂けますと幸甚です。 オフィスは2007を使っています。 マクロの内容を他人に見られたくないので、 パスワードをかけようと思っています。 エクセルのツールバーのマクロの下の▼⇒マクロの表示⇒ステップ イン⇒ コードを記した画面のツールバーのツール⇒ VBAプロジェクトのプロパティー⇒保護のタブ⇒プロジェクトのロックにチェックマーク&パスワードを入力⇒OK を押し、エクセルをいったん閉じて再度開いたらステップインを押せなくなり、パスワードをかけることに成功できたようです。 ところが今度、ステップインを行うための操作がわかりません。 パスワードがかかっているからなのでしょうが、解除を行う方法を、素人の私でも理解できるように、 どの画面からどのような操作を行えばいいのか分かるようご教示頂けませんでしょうか。 宜しくお願い致します。

  • エクセルVBA-いじっていたら書いた記述がみられなくなりました。

    いつもお世話になります。 エクセルVBAで記述後、コードを見られないようにできるって聞いてたので、思い出していじっていました。 ツール→VBAProjectのプロパティの保護タブで、プロジェクトを表示用にロックするにチェックをし、パスワードを入力した(確かそうでした)と思います。 改めて記述を見てみようとしたところ、どこをどうしたら記述したのを見られるのか、さっぱりわからなくなり困っています。 どうぞ、よろしくお願いします。

  • エクセルVBAで全てのマクロを実行するには?

    エクセルVBAの初心者です。 エクセルの他のワークブックからマクロのあるワークブックを開き、値を入れる式は成功したのですが、マクロにはパスワード保護がかかっており、マクロの実行式を入れることができません。 DoCmd.RunMacro で マクロ名は必須のようです。 マクロボタンは1つだけです。 すべてのマクロを実行、というようなコマンドは可能でしょうか?

専門家に質問してみよう