バージョン

ワークシートの編集の無効化 (Infragistics Excel Engine)

Worksheet オブジェクトの Protect メソッドを使用してワークシートを保護することにより、ワークシートの編集を禁止できます。このメソッドには多数の bool 引数があり、そのうちの 1 つがセル編集を禁止します。ワークシートが保護されている場合、Protect メソッドに対する以後の呼び出しはすべて無視されます。保護パラメーターを変更するには、 Unprotect メソッドを使用してワークシートの保護を解除し、引数に新しい保護設定を指定した Protect メソッドを再度呼び出す必要があります。 IsProtected プロパティを使用してワークシートの保護をチェックできます。

Note
注:

Infragistics Excel Engine のオブジェクト モデルから保護が強制されることはありません。これらの保護設定を履行し、対応する操作の実行をユーザーに許可または制限することは、このオブジェクト モデルを表示する UI の責任です。

また、 Workbook オブジェクトの Protect メソッドを使用して、ワークシートの追加、名前変更、順序変更、削除のような構造的変更からワークブックを保護できます。

保護が設定されると、Worksheet オブジェクトの保護をこれらのオブジェクトでオーバーライドするために、 CellFormat オブジェクトの Locked プロパティを各セル、行、マージされたセル領域、または列で設定することができます。たとえば、ひとつの列のセルを除き、ワークシートのすべてのセルを読み取り専用にする必要がある場合、特定の WorksheetColumn オブジェクトで CellFormat プロパティの Locked を False に設定します。これにより、ユーザーにその列内のセルの編集を許可し、ワークシートの他のセルの編集は禁止できます。

以下のコードは、ひとつの列を編集可能にし、その他のすべてのセルをワークシートで読み取り専用とする方法を示します。

Visual Basic の場合:

Imports Infragistics.Documents.Excel
...
worksheet1.Protect(DirectCast(Nothing, System.Nullable(Of Boolean)))
worksheet1.Columns(1).CellFormat.Locked = ExcelDefaultableBoolean.False

C# の場合:

using Infragistics.Documents.Excel;
...
worksheet1.Protect((bool)null);
worksheet1.Columns[1].CellFormat.Locked = ExcelDefaultableBoolean.False;