チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.XLS for .NET»保護»C#/VB.NET:Excel シートの特定のセルを保護する方法
2022-08-17

C#/VB.NET:Excel シートの特定のセルを保護する方法

Excel のシートには、他の人に編集されたくないデータや数式が含まれていることがあります。そのため、データや数式の整合性を保護する目的で、対応するセルを保護することができます。 Spire.XLS for .NET を使用して、Excel ワークブックの特定のセルをロックする方法について説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel の表の指定したセルを保護する

通常、Excel シートは、すべてのセルがロックされた状態になっています。そのため、すべてのセルのロックを解除してから、ロックをかける必要があります。注意すべきは、「ロックされたセル」の設定は、表が保護されている場合のみ有効であることです。

以下は、Excel 表で指定したセルをロックするための詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel シートを読み込みます。
  • Workbook.Worksheet[sheetIndex] 属性を使用して、目的のワークシートを取得します。
  • 使用中のセルをすべて取得し、CellRange.Style.Locked 属性を false に設定して、ロックを解除します。
  • 指定されたセルを取得し、CellRange.Style.Locked 属性を true に設定してロックします。
  • ワークシートの保護には、XlsWorksheetBase.Protect() メソッドを使用します。
  • Excelのシートを保存するには、Workbook.SaveToFile() メソッドを使用します。
  • C#
  • VB.NET
using Spire.Xls;

namespace LockCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbook クラスのオブジェクトを作成する
            Workbook workbook = new Workbook();

            //Excelシートを読み込む
            workbook.LoadFromFile(@"C:\実例.xlsx");

            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //このワークシートで既に使用されているすべてのセルのロックを解除します
            CellRange usedRange = sheet.Range;
            usedRange.Style.Locked = false;

            //指定したセルをロックする
            CellRange cells = sheet.Range["A1:F2"];
            cells.Style.Locked = true;

            //パスワードでワークシートを保護する
            sheet.Protect("123456", SheetProtectionType.All);

            //Excel表を保存する
            workbook.SaveToFile("セルの保護.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls

Namespace LockCells
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Workbook クラスのオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelシートを読み込む
            workbook.LoadFromFile("C:\実例.xlsx")

            '最初のワークシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'このワークシートで既に使用されているすべてのセルのロックを解除します
            Dim usedRange As CellRange = sheet.Range
            usedRange.Style.Locked = False

            '指定したセルをロックする
            Dim cells As CellRange = sheet.Range("A1:F2")
            cells.Style.Locked = True

            'パスワードでワークシートを保護する
            sheet.Protect("123456", SheetProtectionType.All)

            'Excel表を保存する
            workbook.SaveToFile("セルの保護.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel シートの特定のセルを保護する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 2029 times