DioDocs for Excel
DioDocs for Excel
セル範囲の保護
機能 > ワークシート > 範囲の操作 > セル範囲の保護

DioDocs for Excelでは、IRange およびIStyle インターフェースのLockedおよびFormulaHiddenプロパティを使用して、セルをロックしたりセル内の数式を非表示にしたりして、ワークシート内のセルを保護することができます。

インタフェース プロパティ 説明
IRange Locked ワークシート上の特定のセル範囲をロックする
FormulaHidden ワークシート上の特定のセル範囲内の数式を非表示にする
IStyle Locked ワークシート上のこのスタイルが設定されたすべてのセルをロックする
FormulaHidden ワークシート上のこのスタイルが設定されたすべてのセルの数式を非表示にする

メモ: Lockedプロパティのデフォルトは”true"、FormulaHiddenプロパティのデフォルトは"false"です。

メモ: Locked と FormulaHidden プロパティは、ワークシートが保護されている時のみ動作します。 ワークシートの保護の詳細については、ワークシートの操作をご覧ください。

セルをロックする

特定のセル範囲をロックする

保護されたワークシート上の特定の範囲のセルをロックする方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// 特定のセル範囲を直接ロックします
worksheet.Range["C7:C11"].Locked = true;

スタイルを持つセルをロックする

保護されたワークシート上のスタイルを持つセルをロックする方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// カスタムスタイルを使用して特定のセル範囲をロックします
IStyle style = workbook.Styles.Add("CustomStyle");
style.Locked = true;
worksheet.Range["B2:D18"].Style = style;

デフォルトでは、ワークシート上のすべてのセルが"Normal"スタイルになるので、そのスタイルの Locked プロパティを使用することですべてのセルをロックすることが可能です。詳しくは、次のサンプルコードを参照してください。

C#
コードのコピー
// すべてのセルをロックします。
// ※"A1"セルのスタイルをデフォルトから変更していない前提です。
//  また、スタイルをデフォルトから変更しているセルには適用されません。
worksheet.Range["A1"].Style.Locked = true;

セル内の数式を非表示にする

特定のセル範囲内の数式を非表示にする

保護されたワークシート上の特定の範囲内の数式を非表示にする方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// 特定のセル範囲の数式を直接非表示にします。 
worksheet.Range["C7:C19"].FormulaHidden = true;

スタイルを使用して、特定のセル範囲内の数式を非表示にする

特定のスタイルが適用されたセル範囲内の数式を非表示にする方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// カスタムスタイルを使用して特定のセル範囲の数式を非表示にします
IStyle style = workbook.Styles.Add("CustomStyle");
style.FormulaHidden = true;
worksheet.Range["B2:D18"].Style = style;

デフォルトでは、ワークシート上のすべてのセルが"Normal"スタイルになるので、そのスタイルの FormulaHidden プロパティを使用することですべてのセルの数式を非表示にすることが可能です。詳しくは、次のサンプルコードを参照してください。

C#
コードのコピー
// すべてのセルの数式を非表示にします。
// ※"A1"セルのスタイルをデフォルトから変更していない前提です。
//  また、スタイルをデフォルトから変更しているセルには適用されません。
worksheet.Range["A1"].Style.FormulaHidden = true;