• ベストアンサー

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

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についてはこの限られたスペースで説明するのは 不可能ですので 書籍を購入して勉強するしかないと思います