• ベストアンサー

エクセルのシート保護をマクロで自動化したい!

EXCEL2000で仕事をしていますが、シート保護をマクロで自動化したいんです。それもパスワード入力を求めるメッセージボックスが表示されるような形で・・・ ツール→保護→シートの保護 ということでシート保護が出来るのは当然知っていますが、複数の人間が共有して使うファイルということのあり、作業後閉じるときに忘れる可能性大なので、コマンドボタンで簡単にしたい。パスワード付というのは無理なんでしょうか?

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.2

ThisWorkbookに次のコードをコピー貼り付けしてください。 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim i As Integer Dim j As String j = Application.InputBox( _ prompt:="パスワードを入力してください", Type:=2) For i = 1 To Sheets.Count Sheets(i).Select ActiveSheet.Protect Password:=j Next i ActiveWorkbook.SaveAs _ Filename:=ActiveWorkbook.Name, _ FileFormat:=xlWorkbookNormal End Sub ブックを閉じる前に、シートを保護し、セーブしています。

HENRY14
質問者

お礼

ありがとうございます。 思っていたより簡単なんですね。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • p-21
  • ベストアンサー率20% (265/1269)
回答No.1

可能ですけど エクセルの機能としては無理だと思います (マクロ機能も含めて) VBAでの対応になります VBAについてはこの限られたスペースで説明するのは 不可能ですので 書籍を購入して勉強するしかないと思います

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。

  • Excelのシート保護?

    他の人が作ったとあるエクセルファイルで、シート保護がかかっている わけではないのに、マクロが登録してあるボタンや、チェックボックス、 コマンドリスト等の類を移動させることが出来ません。 ただの四角いオブジェクト等は移動・修正させることは可能です。 ボタンなどのレイアウトを変えたいのですが、シートの保護以外で、 チェックすべき項目はありますか?

  • エクセルのマクロについて

    エクセルのマクロについてご教示ください。 共有サーバにあるパスワードで保護されたブックを、別のブックの シートからマクロボタンで開くと、当然にパスワードを要求されま すが、ここでメッセージボックスのキャンセルボタンを押すと、 Openメソッドは失敗しました。Workbooksオブジェクトという実行時 エラーが表示されます。  このエラー表示を回避できる方法をご教示ください。  If文で処理しようと試みましたがだめでした。  よろしくお願いいたします。 

  • エクセル シート保護された共有ファイルのマクロ実行

    こんちには エクセル関連の過去の質問を見ると、単に保護されたシートではマクロを実行する方法かあるようですが、保護された共有ファイルでマクロを実行するにはどうしたらよいでしょうか?(保護された共有ファイルでも実行可能なマクロもあります) 今はその方法が分からないので、共有ファイルを保護なしでマクロを実行しています。1つのファイルに複数のマクロがありボタンで操作できるようにしていますが、時々セルの中の関数を消してしまう人がいるので、保護したいと考えています。

  • エクセルのマクロでシート保護解除時に・・・

    エクセルのマクロでシート保護解除時に・・・ EXCEL2000を使っています。 ワークシートの保護を解除したタイミングで、マクロを自動実行することは可能でしょうか? 現在このような状態になっています。 特定の列(AとB)に保護がかかっています。一般社員はC列以降に入力可能で、パスワード を知っている管理職はA、B列に入力ができるようにしています。 A,B列にはリストボックスを設定しているのですが、これだとパスワードを知らなくても リストボックスで変更する事ができてしまいます。 そういうわけで、パスワードを外したときにリストボックスが表れるようにマクロを設定 したいと思っています。 VBAをいじった事がほとんどありませんでしたので、これまでのところは色々な方のコード を見ながら進めてきたのですが、「パスワードを解除した時に発動する」という条件を 見つける事ができなかったため、困窮した挙句この場で質問させて頂きました。 すみませんが、どなたかアドバイス頂けないでしょうか。 よろしくおねがいします。

  • Excel シートの保護機能について

    Excel2003を使用しています。 シートの保護機能について、教えてください。 ユーザによるセル内の入力・編集・削除の作業は許可させたいのですが、 行の追加・削除は許可させないようにしたいと思っています。 「ツール」の「保護」機能を利用すると、行の追加・削除の制御は出来るのですが、 セル内への入力・編集もできなくなってしまいました。 制御できないことはないと思うのですが、可能でしょうか? マクロで作成したExcelファイルがあり、定形の形から崩れてしまうとプログラムが おかしくなってしまう為、上記のような制御を行いたいと思っております。 ユーザには、入力・編集作業+マクロの実行のみ、行わせたいと思っています。 よろしくお願いいたします。

  • VBA マクロ保護

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

  • Excelでマクロを消すには

    マクロが組み込まれているExcel2003のファイルがあります。 マクロについて詳しくわからないのですが、複数の伝票シートを一括印刷するボタンがあったり、 チェックボックスに応じてオートシェープや文字が切り替わる機能があります。 この伝票のひな形だけを使いたく、枠や文字だけを新しいシートに値でコピーし、 別名で保存しました。 ボタンやオートシェープはありません。 また、ツール→マクロを選んでも特に何も見当たりませんでした。 しかし、このファイルを開くたびに このファイルにはマクロが…  [マクロを有効にする][マクロを無効にする] というダイアログが表示されてしまいます。 マクロを消すといいますか、このダイアログが表示されないようにする方法がありましたら 教えてください。 よろしくお願いいたします。

  • エクセルシートの保護について

    1つのエクセルで複数の人が入力するのですが、 同じシートでその入力したものの承認(名前を入力)も行うことになり、 普段は承認欄を保護しておいて承認する際に承認者がパスワードを入力して保護を解除してから承認する形をとりたいと思っています。 シートの保護まではできるのですが、複数承認者がいることもあって、シートの保護をするのを忘れる人が出そうなのです。 そこでシートの保護が解除されたまま終了された場合、保護を要求する、又は自動で保護されるようにするにはどうしたらいいか知りたいんです。 分かりにくい説明で申し訳ないのですが、回答お願いします!!

  • エクセル97 フォームシートの保護をする時に出る"パスワード"をコード化させたい

    「表示-ツール-フォーム」でボタンを作りました。 そして、マクロの自動登録で「シートの保護」を選び「パスワード:password」を設定し、更に「password」で保護解除をし、マクロ記録終了。 そして、各コードを「シートの保護」:ボタン3、「シートの解除」:ボタン2、に設定しました。 それらを実行させてみたのですが、特に「パスワード:password」を聞かれることなく一連の作業が終了してしまいました。 コードは以下のとおりです。 Sub ボタン2_Click() ' ' ボタン2_Click Macro ' マクロ記録日 : 2004/2/9 ユーザー名 : **** ' ActiveSheet.Unprotect End Sub -------------------------- Sub ボタン3_Click() ' ' ボタン3_Click Macro ' マクロ記録日 : 2004/2/9 ユーザー名 : **** ' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub そこで、各ボタンのクリック時に、パスワードを聞いてきてくれるコードを書き加えたいのです。 わかる方がいらっしゃいましたら、是非教えてください!! コードに関して素人ですので、できたら、全体を通してコードを教えて頂ければ助かります。 いろいろ探してみたのですが、ギブアップです。 宜しくお願い致します。

専門家に質問してみよう