PowerTools SPREAD for Windows Forms 10.0J
セルのロック

ユーザーが編集できないように、セルまたはセル範囲をロックできます。 この状態をユーザーが識別できるように、ロックされたセルの外観を変更することもできます。

セルをロックするには、CellColumnRow、または AlternatingRowクラスのLockedプロパティを使用します。 StyleInfoクラスのLockedプロパティを設定して、ロックするセルにこのスタイルを適用することもできます。 また、セルをロックするには、SheetViewクラスのProtectプロパティを設定する必要があります。 Lockedプロパティはセルがロック対象であることを示し、Protectプロパティは、これらのセルを実際にロックするかどうかを設定します。 ユーザー入力を拒否するようにロック対象としてマークされたセルに対しては、シートのProtectプロパティをTrue(デフォルト値)に設定する必要があります。 このプロパティが False に設定されていると、ロック対象としてマークされている場合でも、ユーザーはこのセルの操作が可能になります。

セルをロックするもう1つの方法は、TextCellTypeクラスを使用してセルをテキスト型に設定し、ReadOnlyプロパティを設定することです。 これで、このセルは編集できなくなります。

ロックされたセルに対し、さまざまな色(背景色、テキスト色)やフォントを指定することもできます。これには、SheetViewAppearanceCellColumnRowNamedStyle、またはStyleInfoオブジェクトのLockBackColorLockForeColor、およびLockFontプロパティを使用します。

LockBackColor、LockForeColor、およびLockFontプロパティは、データ領域のセルに対して有効です。行ヘッダ、および列ヘッダのヘッダ領域のセルに対する設定は無効です。

セルをロックしても、このセル上に表示されているシェイプ(フローティング オブジェクト)はロックされません。 シートの保護は、このシート内でロック対象としてマークされたすべてのセルがロックされることを意味するだけであり、このシート上のシェイプには適用されません。 シェイプのロックについては、「シェイプ」を参照してください。

設定方法

セルをロックするにはCellクラスの、行はRowクラスの、列はColumnクラスのLockedプロパティを使用します。ロックした各セルをユーザーが入力できないようにするには、SheetViewクラスのProtectプロパティをTrueに設定する必要があります。

サンプルコード

次のサンプル コードは、シートのProtectプロパティがTrueに設定された状態で、複数列のセルをロックします。次に、セル範囲を指定してロックを解除します。

C#
コードのコピー
fpSpread1.ActiveSheet.Protect = true;
fpSpread1.ActiveSheet.LockBackColor = Color.LightCyan;
fpSpread1.ActiveSheet.LockForeColor = Color.Green;
FarPoint.Win.Spread.Column columnobj;
columnobj = fpSpread1.ActiveSheet.Columns[0, 3];
columnobj.Locked = true;
FarPoint.Win.Spread.Cell cellobj;
cellobj = fpSpread1.ActiveSheet.Cells[1,1,1,2];
cellobj.Locked = false;
fpSpread1.ActiveSheet.Cells[1,0,1,4].Text = "First Five";
Visual Basic
コードのコピー
FpSpread1.ActiveSheet.Protect = True
FpSpread1.ActiveSheet.LockBackColor = Color.LightCyan
FpSpread1.ActiveSheet.LockForeColor = Color.Green
Dim columnobj As FarPoint.Win.Spread.Column
columnobj = fpSpread1.ActiveSheet.Columns(0, 3)
columnobj.Locked = True
Dim cellobj As FarPoint.Win.Spread.Cell
cellobj = fpSpread1.ActiveSheet.Cells(1,1,1,2)
cellobj.Locked = False
FpSpread1.ActiveSheet.Cells(1,0,1,4).Text = "First Five"

SPREAD デザイナの使用

  1. 作業領域で、ロックするセルまたはセル範囲を選択します。セル範囲を選択するには、セル範囲をドラッグで選択するか、行ヘッダまたは列ヘッダを選択(行または列全体を選択する場合)します。
  2. プロパティ リストの「その他」カテゴリから Locked プロパティを選択し、値を True に設定します。
    この方法の代わりに、Cells プロパティを選択して、ボタンをクリックしてセル、列、および行エディタを表示し、エディタ内でセルを選択することもできます。
  3. 該当セルが含まれるシートのシート名タブをクリックします。 プロパティ リストの「動作」カテゴリから、Protect プロパティのボタンを選択し、SheetView コレクション エディタを表示します。
  4. マークしたセルをユーザーが入力できないようにロックするには、SheetView コレクション エディタの[プロパティ]ウィンドウで、「動作」カテゴリから Protect プロパティを選択し、値を True に設定します。
  5. [ファイル]メニューから[適用して終了]を選択し、変更をコンポーネントに適用して SPREAD デザイナを終了します。
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.