C#/VB.NET Excel文書を保護または保護解除する

Excel文書はデータを保存して処理するための良いツールです。ワークブックに重要なデータが保存されている場合は、パスワードを設定することでデータのセキュリティを確保できます。**Free Spire.XLS for Java**は、この機能を簡単に実装するのに役立ちます。Excel文書の保護と保護の解除のコードと説明の例を次に示します。

## Free Spire.XLS for .NETをインストールする
**方法1**：[NuGet](https://www.nuget.org/packages/FreeSpire.XLS)でFree Spire.XLS for .NETをインストールする
Visual Studioを開いて新しいプロジェクトを作成します。次に、「Solution Explorer」で「References」を右クリックし、「Nuget Manage Packages」を選択します。Free Spire.XLS for .NETを検索してインストールします。
**方法2**：手動でSpire.xls.dllを追加する
[Free Spire.XLS for .NET](https://jp.e-iceblue.com/download/free-spire-xls-for-net.html)をローカルにダウンロードしインストールします。次に、Visual Studioて新しいプロジェクトを作成し、右側の「Solution Explorer」で「References」を右クリックし、「Add Reference」>「Browse」を選択して、インストールパス下のBINフォルダのdllファイルを見つけ、「OK」をクリックして、プログラムに参照を追加します。

## ワークブックの保護
* Workbookオブジェクトを作成します。
* Workbook.LoadFromFile() メソッドを使用して Excel文書を読み込みます。
* Workbook.Protect() メソッドを使用してパスワードを使用してワークブックを保護します。
* Workbook.SaveToFile() メソッドを使用して、ブックを別の Excel ファイルに保存します。

C#
```C#:
using Spire.Xls;

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

            //Excelファイルを読み込む
            workbook.LoadFromFile(@"sample.xlsx");

            //ワークブックをパスワードで保護する
            workbook.Protect("123456");

            //別のExcelファイルに保存する
            workbook.SaveToFile("Encrypted.xlsx", ExcelVersion.Version2016);
        }
    }
}
```
VB.NET
```VB
Imports Spire.Xls
 
Namespace PasswordProtectWorkbook
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            'Excelファイルを読み込む
            workbook.LoadFromFile("sample.xlsx")
 
            'ワークブックをパスワードで保護する
            workbook.Protect("123456")
 
            '別のExcelファイルに保存する
            workbook.SaveToFile("Encrypted.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace
```
## ワークシートの保護
* Workbookオブジェクトを作成します。
* Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
* Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
* Worksheet.Protect(string password, SheetProtectionType options)メソッドを使用して、ワークシートを保護します。
* Workbook.SaveToFile() メソッドを使用して、ブックを別の Excel ファイルに保存します。
C#:
```C#
using Spire.Xls;

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

            //Excelファイルを読み込む
            workbook.LoadFromFile(@"sample.xlsx");

            //特定のワークシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

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

            //別のExcelファイルに保存する
            workbook.SaveToFile("ProtectWorksheet.xlsx", ExcelVersion.Version2016);
        }
    }
}
```
VB.NET:
```VB
Imports Spire.Xls
 
Namespace ProtectWorksheetWithSpecificProtectionType
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            'Excelファイルを読み込む
            workbook.LoadFromFile("sample.xlsx")
 
            '特定のワークシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 
 
            'ワークシートをパスワードで保護する
            worksheet.Protect("123456", SheetProtectionType.All)
 
            '別のExcelファイルに保存する
            workbook.SaveToFile("ProtectWorksheet.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace
```
## ワークブックの保護を解除する
* Workbookオブジェクトを作成します。
* Workbook.OpenPassword プロパティを使用して開くパスワードは、指定します。
* Workbook.LoadFromFile() メソッドを使用して暗号化された Excel ファイルを読み込みます。
* Workbook.Unprotect() メソッドを使用して暗号化を削除します。
* Workbook.SaveToFile() メソッドを使用して、ブックを別の Excel ファイルに保存します。

C#:
```C#
using Spire.Xls;

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

            //パスワードを入力する
            workbook.OpenPassword = "123456";

            //暗号化されたExcelファイルをロードする
            workbook.LoadFromFile(@"Encrypted.xlsx");

            //ワークブック保護を解除する
            workbook.UnProtect();

            //別のExcelファイルに保存する
            workbook.SaveToFile("Unprotect.xlsx", ExcelVersion.Version2016);
        }
    }
}
```

VB.NET:
```VB
Imports Spire.Xls
 
Namespace RemoveOrResetPassword
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            'パスワードを入力する
            workbook.OpenPassword = "123456"
 
            '暗号化されたExcelファイルをロードする
            workbook.LoadFromFile("Encrypted.xlsx")
 
            'ワークブック保護を解除する
            workbook.UnProtect()
 
            '別のExcelファイルに保存する
            workbook.SaveToFile("Unprotect.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace
```
## ワークシートの保護を解除する
* Workbookオブジェクトを作成します。
* Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
* Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
* Worksheet.Unprotect(string password)メソッドを使用して、保護を解除します。
* Workbook.SaveToFile() メソッドを使用して、ブックを別の Excel ファイルに保存します。

C#:
```C#
using Spire.Xls;

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

            //保護されたシートを含むExcelファイルを読み込む
            workbook.LoadFromFile(@"ProtectedWorksheet.xlsx");

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

            //パスワードでワークシートの保護を解除する
            sheet.Unprotect("123456");

            //別のExcelファイルに保存する
            workbook.SaveToFile("UnprotectWorksheet.xlsx", ExcelVersion.Version2016);
        }
    }
}
```
VB.NET:
```VB
Imports Spire.Xls
 
Namespace UnprotectWorksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '保護されたシートを含むExcelファイルを読み込む
            workbook.LoadFromFile("ProtectedWorksheet.xlsx")
 
            '最初のシートを取得する
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
 
            'パスワードでワークシートの保護を解除する
            sheet.Unprotect("123456")
 
            '別のExcelファイルに保存する
            workbook.SaveToFile("UnprotectWorksheet.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace
```