EXCEL VBA ワークシートの保護・保護解除(Protectメソッド・Unprotect メゾット)【ワークシートの操作】
EXCEL VBA ワークシートの保護・保護解除(Protectメソッド・Unprotect メゾット)【ワークシートの操作】
【ワークシートの保護】 ●オブジェクト.Protectメソッド
Protect (Password,DrawingObjects,Contents,Scenarios,userinterfaceonly,AllowFormattingCells, AllowFormattingColumns,AllowFormattingRows,AllowInsertingColumns,AllowInsertingRows,AllowInsertingHyperlinks,AllowDeletingColumns,AllowDeletingRows,allowsorting,allowfiltering,AllowUsingPivotTables)
【使用例】:Worksheets(“Sheet1”).Protect Passsword:=”Pass”※ワークシート1の保護を設定します。(パスワードは、”Pass”)
注意:設定したパスワードは、失念すると解除出来なくなります。
Protect メソッド 引数一覧 | ||
---|---|---|
引数 | 既定値 | 説明 |
Password | ワークシートのパスワードを設定します。この設定したパスワードは、保護解除する時に必要になります。 | |
DrawingObjects | True | 描画オブジェクト(図形)を保護するには、 True を指定します。Falseで解除 |
Contents | True | グラフ全体が保護されます。Trueで保護します。 |
Scenarios | True | シナリオを保護するには、 True を指定します。 この引数はワークシートの場合のみ有効です。 |
UserInterfaceOnly | False | True を指定すると、画面上からの変更はできません。(保護)VBA(マクロ)からの変更は保護されません。 この引数を省略すると、VBA(マクロ)からも、画面上からも保護されて変更することができなくなります。 |
AllowFormattingCells | False | True を指定すると、保護されたワークシートのセルを書式設定することができます。 |
AllowFormattingColumns | False | True を指定すると、保護されたワークシートの列を書式設定することができます。 |
AllowFormattingRows | False | Trueを指定すると、保護されたワークシートの行を書式設定できます。 |
AllowInsertingColumns | False | True を指定すると、保護されたワークシートに列を挿入することができます。 |
AllowInsertingRows | False | True を指定すると、保護されたワークシートに行を挿入することができます。 |
AllowInsertingHyperlinks | False | Trueを指定すると、保護されたワークシートにハイパーリンクを挿入することが許可されます。 |
AllowDeletingColumns | False | True を指定すると、保護されたワークシートの列を削除することができ、削除される列のセルはすべてロック解除されます。 |
AllowDeletingRows | False | True を指定すると、保護されたワークシートの行を削除することができ、削除される行のセルはすべてロック解除されます。 |
AllowSorting | False | True を指定すると、保護されたワークシートで並べ替えを行うことができます。 並べ替え範囲内のセルは、ロックと保護が解除されている必要があります。 |
AllowFiltering | False | True を指定すると、保護されたワークシートにフィルターを設定することができます。 |
AllowUsingPivotTables | False | Trueを指定すると、保護されたワークシートでピボットテーブルとピボットグラフを使用することができます。 |
【ワークシートの保護解除】 ●オブジェクト.Unprotectメゾット 【使用例】:Worksheets(“Sheet1″).UnProtect Passsword:=”Pass” ※ワークシート1の保護を解除します。(パスワードは、””Pass”) 注意:設定したパスワードは、失念すると解除出来なくなります。
指定したワークシートの保護 (パスワード設定)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
' '******** AKIRA55.COM ******* https://akira55.com/worksheet_protect/ ' Sub WorkSheetProtect01() '指定するワークシートを保護 Dim ws01, ws02 As Worksheet Set ws01 = Worksheets("機密情報") 'ワークシート名をセット Set ws02 = Worksheets("個人情報") 'ワークシート名をセット ws01.Protect Password:="kimitsu" 'ワークシート「機密情報」を保護・パスワードを「kimitsu」 ws02.Protect Password:="kojin" 'ワークシート「個人情報」を保護・パスワードを「kojin」 MsgBox "ワークシートを保護しました。" End Sub ’ |
指定したワークシートの保護解除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
' '******** AKIRA55.COM ******* https://akira55.com/worksheet_protect/ ' Sub WorkSheetProtect02() '指定するワークシートを保護解除 Dim ws01, ws02 As Worksheet Set ws01 = Worksheets("機密情報") 'ワークシート名をセット Set ws02 = Worksheets("個人情報") 'ワークシート名をセット ws01.Unprotect Password:="kimitsu" 'ワークシート「機密情報」を保護・パスワードを「kimitsu」 ws02.Unprotect Password:="kojin" 'ワークシート「個人情報」を保護・パスワードを「kojin」 MsgBox "ワークシート保護の解除しました。" End Sub ' |
ユーザーにワークシートの保護解除パスワードを入力
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
' '******** AKIRA55.COM ******* https://akira55.com/worksheet_protect/ ' Sub WorkSheetProtect03() 'ユーザーにワークシートの保護解除パスワードを入力させます。 Dim ws01 As Worksheet Dim Pass_Inp As String Set ws01 = Worksheets("個人情報") ws01.Protect Password:="kojin" '個人用パスワードを設定します。 Pass: On Error GoTo Errshori ws01.Unprotect 'ワークシート「個人情報」の保護を解除 (パスワードの入力) MsgBox "パスワードが解除されました。" Exit Sub Errshori: MsgBox Err.Description 'パスワードが違う場合にメッセージを表示 End Sub ' |
●EXCEL VBA ワークシートの保護・保護解除(Protectメソッド・Unprotect メゾット)【ワークシートの操作】②の続きは、↓こちらをクリック
https://akira55.com/worksheet_protect2/