Imports Infragistics.Documents.Excel
...
worksheet1.Protect(DirectCast(Nothing, System.Nullable(Of Boolean)))
worksheet1.Columns(1).CellFormat.Locked = ExcelDefaultableBoolean.False
Worksheet オブジェクトの Protect メソッドを使用してワークシートを保護することにより、ワークシートの編集を禁止できます。このメソッドには多数の bool
引数があり、そのうちの 1 つがセル編集を禁止します。ワークシートが保護されている場合、Protect
メソッドに対する以後の呼び出しはすべて無視されます。保護パラメーターを変更するには、 Unprotect メソッドを使用してワークシートの保護を解除し、引数に新しい保護設定を指定した Protect
メソッドを再度呼び出す必要があります。 IsProtected プロパティを使用してワークシートの保護をチェックできます。
保護が設定されると、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;