Excelファイルのさまざまなユーザーにさまざまな特権を設定する方法

今すぐ共有:

Excelのセキュリティはあなたの仕事にとってかなり重要です。 この記事では、ExcelVBAによってユーザーごとに異なる特権を設定する方法を紹介します。

前回の記事で Excelブックを保護するためのログインウィンドウを作成する方法、Excelブックのログインウィンドウを作成する方法を紹介しました。 ただし、複数のユーザーがドキュメントにアクセスする必要がある場合は、追加の設定を行う必要があります。 さらに、それらのユーザーがファイルに誤った変更を加えないことを保証する必要があります。 次に、以下の手順に従って、このタスクを完了する方法を確認してください。

異なる特権を設定する

ここで、XNUMX人の営業担当者がこのファイルを変更する必要があるとします。 名前とパスワードは、以下の画像のように設定されています。例:

そして、各人は特定のワークシートを変更する必要があります。

  1. キーボードのショートカットキー「Alt + F11」を押して、VisualBasicエディターを開きます。
  2. 次に、新しいユーザーフォームをエディターに挿入します。ユーザーフォームを挿入
  3. この手順では、XNUMXつのラベル、XNUMXつのテキストボックス、およびXNUMXつのボタンをユーザーフォームに挿入します。
  4. 次に、ユーザーフォームのキャプションと、手順3で挿入した要素を変更します。以下の画像を参照することもできます。キャプションを変更する
  5. その後、XNUMX番目のテキストボックスの「PasswordChar」を「*」に変更します。PasswordChar
  6. その後、ユーザーフォームをダブルクリックします。
  7. 次に、次のコードをモジュールに入力します。
Private Sub CommandButton1_Click()
  Dim objTargetWorksheet As Worksheet

  If (TextBox1.Value = "John" And TextBox2.Value = "234") _
    Or (TextBox1.Value = "Amy" And TextBox2.Value = "345") _
    Or (TextBox1.Value = "Paul" And TextBox2.Value = "456") Then
    Me.Hide: Application.Visible = True

    For Each objTargetWorksheet In ActiveWorkbook.Worksheets
      If objTargetWorksheet.Name = TextBox1.Value Then
        objTargetWorksheet.Unprotect Password:=12345
      Else
        objTargetWorksheet.Protect Password:=12345, DrawingObjects:=True, Contents:=True, Scenarios:=True
      End If
    Next
  Else
    MsgBox "Please input the right user name and the right password"
  End If
End Sub

Private Sub CommandButton2_Click()
  ThisWorkbook.Application.Quit
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  ThisWorkbook.Application.Quit
End Sub

コードでは、他のワークシートを保護します。 また、ユーザーは対応するワークシートのみを変更できます。 必要に応じてパスワードを変更することもできます。

  1. その後、VBAプロジェクトの「ThisWorkbook」をダブルクリックします。
  2. 次に、次のコードを入力します。
Private Sub Workbook_Open()
  Application.Visible = False: UserForm1.Show
End Sub

このワークブック

  1. ユーザーがVBAコードを変更できないようにするには、VBAプロジェクトのパスワードを設定する必要があります。 前回の記事で ExcelワークシートでVBAコードをパスワードで保護する方法、メソッドを導入しました。 特別なパスワードを設定することもできます。
  2. 最後に、このExcelファイルを保存します。
  3. 次にファイルを開いたとき、ユーザーフォームは表示されません。 ファイル内の「コンテンツを有効にする」ボタンをクリックする必要があります。
  4. そして、「ログイン」ウィンドウが表示されます。 XNUMXつのテキストボックスに名前とパスワードを入力します。
  5. その後、ウィンドウの「ログイン」ボタンをクリックします。ログイン

現時点では、ジョンは自分のワークシートのみを変更できます。 彼は他のワークシートやVBAコードを変更することはできません。 さらに、XNUMX人の営業担当者を除いて、パスワードなしでこのファイルを開くことはできません。 次回そのような要件が発生したときに、ワークブックにそのようなログインウィンドウを設定することもできます。

Excelの破損の問題を認識する

Excelは、さまざまな要因の結果として破損することがあります。ファイルの修復を開始する前に、問題とデータ障害の原因を特定する必要があります。さらに、データ復旧について何も知らない場合は、 破損したExcelxlsxを修復する サードパーティ製のツールを使用することで、この問題を解決できます。最先端のアルゴリズムを搭載したこのツールは、Excelのほぼすべてのエラーに対応可能です。

著者紹介:

Anna Maは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したdocxを修復します と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。