EXCEL 参照と更新の権限を分離

Excelを誤って更新することを防止するために、通常は、参照権限で参照し、必要な場合には、特定の更新権限者のみが更新するVBA例を紹介します。
不特定多数の人が同じエクセルを使用する場合に参照と更新を明確に分離します。

参照と更新のオペレーションフロー

 実際の運用について

実際の運用においては、下記の「サンプルV1.01.xlsm」をダウンロードすることで参照と更新の権限の分離が可能となります。


❶ ワークブックのVBAコードのパスワード「0000」を任意の値に変更

Workbook_Open処理のパスワード確認処理(下記の抜粋部分)を変更しコンパイル

 msg = Application.InputBox("更新パスワード?", "パスワード確認", "")
 If msg = "0000" Then
      'rc = MsgBox("更新パスワードが一致。書き込み可能で開きます!",vbOKOnly)
 Else
      rc = MsgBox("更新パスワードが相違。読み取り専用で開きます!", vbOKOnly)
      flg = .Saved
       .Saved = True
       .ChangeFileAccess xlReadOnly
       .Saved = flg
 End If

❷ VBAのツールのVBAプロジェクトの保護パスワードの設定

❸ 上記のエクセルに必要なシートをコピーし任意の名前に変更し完了

何かお気づきの点やご意見など有りましたらお問い合せからご連絡頂けると幸いです。