VBAのProtectメソッド

こちらでは、エクセルVBAのProtectメソッドの解説になります。

メソッドとは、オブジェクトを操作する命令文のことでオブジェクトの動作になります。 メソッドを利用するにはオブジェクト名とメソッド名の間に「.(ピリオド)」で結んで記述します。

オブジェクト名.メソッド名

目次

Chart オブジェクトのProtectメソッド

Chart オブジェクトのProtectメソッドは、グラフを保護し、変更できないようにします。

構文expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly)
キーワード省略説明
expression×こちらは、必ず指定します。対象となる Chart オブジェクトを返すオブジェクト式を指定します。
Password省略可能です。バリアント型 (Variant) の値を使用します。ワークシートまたはブックのパスワード文字列を指定します。なお、パスワードでは大文字と小文字を区別します。この引数を省略すると、ワークシートまたはブックはパスワードの使用なしで保護解除できます。この引数を指定すると、保護解除をするためには、そのパスワードが必要になります。パスワードを忘れると、保護解除ができなくなってしまうので注意が必要です。パスワードおよび対応するワークシート名を一覧表にして、安全な場所に保管しておくことをお勧めします。
メモ パスワードには、大文字、小文字、数字、記号を組み合わせた複雑なものを使用してください。これらの文字を混在させたものになっていないパスワードは強固とはいえません。たとえば、House27 は Y6dh!et5 に比べ、推測されやすいパスワードといえます。また、高い安全性を保ちながらも、書き留めておかなくても覚えておくことができるパスワードを使用してください。
DrawingObjects省略可能です。バリアント型 (Variant) の値を使用します。描画オブジェクトを保護させるには、True を指定します。既定値は False です。
Contents省略可能です。バリアント型 (Variant) の値を使用します。オブジェクトの内容を保護させるには、True を指定します。この引数による保護対象は、グラフの場合はグラフ全体、ワークシートの場合はロックされているセルです。既定値は True です。
Scenarios省略可能です。バリアント型 (Variant) の値を使用します。シナリオを保護するには、True を指定します。この引数はワークシートの場合のみ有効です。既定値は True です。
UserInterfaceOnly 省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、画面上からの変更は保護されますが、マクロからの変更は保護されません。この引数を省略すると、マクロからも、画面上も変更することができなくなります。

Worksheet オブジェクトのProtectメソッド

Worksheet オブジェクトのProtectメソッドは、ワークシートを保護し、変更できないようにします。

構文expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
キーワード省略説明
expression×こちらは、必ず指定します。対象となる Worksheet オブジェクトを返すオブジェクト式を指定します。
Password省略可能です。バリアント型 (Variant) の値を使用します。ワークシートまたはブックのパスワード文字列を指定します。なお、パスワードでは大文字と小文字を区別します。この引数を省略すると、ワークシートまたはブックはパスワードの使用なしで保護解除できます。この引数を指定すると、保護解除をするためには、そのパスワードが必要になります。パスワードを忘れると、保護解除ができなくなってしまうので注意が必要です。パスワードおよび対応するワークシート名を一覧表にして、安全な場所に保管しておくことをお勧めします。
DrawingObjects省略可能です。バリアント型 (Variant) の値を使用します。描画オブジェクトを保護させるには、True を指定します。既定値は False です。
Contents省略可能です。バリアント型 (Variant) の値を使用します。オブジェクトの内容を保護させるには、True を指定します。この引数による保護対象は、グラフの場合はグラフ全体、ワークシートの場合はロックされているセルです。既定値は True です。
Scenarios省略可能です。バリアント型 (Variant) の値を使用します。シナリオを保護するには、True を指定します。この引数はワークシートの場合のみ有効です。既定値は True です。
UserInterfaceOnly 省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、画面上からの変更は保護されますが、マクロからの変更は保護されません。この引数を省略すると、マクロからも、画面上も変更することができなくなります。
AllowFormattingCells省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートのセルを書式化することができます。既定値は False です。
AllowFormattingColumns省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートの列を書式化することができます。既定値は False です。
AllowFormattingRows省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートに行を挿入することができます。既定値は False です。
AllowInsertingRows省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートに行を挿入することができます。既定値は False です。
AllowInsertingHyperlinks省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートにハイパーリンクを挿入することができます。既定値は False です。
AllowDeletingColumns省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートの列を削除することができ、削除される列のセルはすべてロック解除されます。既定値は False です。
AllowDeletingRows省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートの行を削除することができ、削除される行のセルはすべてロック解除されます。既定値は False です。
AllowSorting省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートで並べ替えを行うことができます。並べ替え範囲内のセルは、ロックと保護が解除されている必要があります。既定値は False です。
AllowFiltering省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートにフィルタを設定することができます。ユーザーは、フィルタ条件を変更できますが、オート フィルタの有効と無効を切り替えることはできません。既定値は False です。
AllowUsingPivotTables省略可能です。バリアント型 (Variant) の値を使用します。True を指定すると、ユーザーは保護されたワークシートでピボットテーブル レポートを使用することができます。既定値は False です。

引数 UserInterfaceOnly に True を設定した Protect メソッドをブックのワークシートに適用した場合、保存して閉じた後でもう一度開いたブックに対しては、画面上からもマクロからも変更ができなくなります。マクロからの変更を可能にするためには、引数 UserInterfaceOnly に True を設定した Protect メソッドを再び適用する必要があります。

保護されたワークシートの変更は、そのパスワードがわかっていれば、Protect メソッドを使って行うことができます。また、別のメソッドでワークシートの保護を解除し、必要な変更を行ってから、ワークシートをもう一度保護するという方法もあります。

"保護されていない" というのは、セルが [セルの書式設定] ダイアログ ボックスでロックされているかもしれないが、[範囲の編集の許可] ダイアログ ボックスで定義された範囲に含まれていて、ユーザーがパスワードを使ってその範囲の保護を解除したか、ユーザーが NT のアクセス許可を通じて確認されているという意味です。

Workbook オブジェクトのProtectメソッド

Workbook オブジェクトのProtectメソッドは、ブックを保護し、変更できないようにします。

構文expression.Protect(Password, Structure, Windows)
キーワード省略説明
expression×こちらは、必ず指定します。対象となる Workbook オブジェクトを返すオブジェクト式を指定します。
Password省略可能です。バリアント型 (Variant) の値を使用します。ワークシートまたはブックのパスワード文字列を指定します。なお、パスワードでは大文字と小文字を区別します。この引数を省略すると、ワークシートまたはブックはパスワードの使用なしで保護解除できます。この引数を指定すると、保護解除をするためには、そのパスワードが必要になります。パスワードを忘れると、保護解除ができなくなってしまうので注意が必要です。パスワードおよび対応するワークシート名を一覧表にして、安全な場所に保管しておくことをお勧めします。
Structure省略可能です。バリアント型 (Variant) の値を使用します。ブックの構造 (各シートの相対位置) を保護するには、True を指定します。既定値は、False です。
Windows省略可能です。バリアント型 (Variant) の値を使用します。シートまたはブックのウィンドウを保護するには、True を指定します。この引数を省略すると、ウィンドウは保護されません。
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。