セルのロックは、Excelのシートで特定のセルを誤って変更しないように保護する機能です。セルをロックすることで、パスワードまたは権限があるユーザーだけがこれらのセルを編集でき、他のユーザーは閲覧または他のロックされていないセルを編集することしかできません。これは、重要なデータを共有し、保護する際に非常に便利です。Free Spire.XLS for .NETは.NETプラットフォームでこの機能を実現することをサポートします。詳細な方法とサンプルコードを次に示します。
Free Spire.XLS for .NETをインストールする
方法1:NuGetで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をローカルにダウンロードしインストールします。次に、Visual Studioて新しいプロジェクトを作成し、右側の「Solution Explorer」で「References」を右クリックし、「Add Reference」>「Browse」を選択して、インストールパス下のBINフォルダのdllファイルを見つけ、「OK」をクリックして、プログラムに参照を追加します。
方法とサンプルコード
- Workbook クラスのオブジェクトを作成します。
- Workbook.LoadFromFile() メソッドを使用して、Excelドキュメントを読み込みます。
- Workbook.Worksheet[sheetIndex] 属性を使用して、最初のシートを取得します。
- シートで使用されている範囲にアクセスし、CellRange.Style.Locked プロパティを false に設定して、すべてのセルのロックを解除します。
- 特定のセルにアクセスし、CellRange.Style.Locked プロパティを true に設定してセルをロックします。
- XlsWorksheetBase.Protect() メソッドを使用してシートを保護します。
- Workbook.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
C#:
using Spire.Xls;
namespace LockCells
{
class Program
{
static void Main(string[] args)
{
//Workbook クラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelドキュメントを読み込む
workbook.LoadFromFile(@"sample.xlsx");
//最初のシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//すべてのセルのロックを解除する
CellRange usedRange = sheet.Range;
usedRange.Style.Locked = false;
//特定のセルをロックする
CellRange cells = sheet.Range["A1:A4"];
cells.Style.Locked = true;
//パスワードでシートを保護する
sheet.Protect("123456", SheetProtectionType.All);
//ドキュメントを保存する
workbook.SaveToFile("result.xlsx", ExcelVersion.Version2016);
}
}
}
VB.NET:
Imports Spire.Xls
Namespace LockCells
Class Program
Shared Sub Main(ByVal args() As String)
'Workbook クラスのオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'Excelドキュメントを読み込む
workbook.LoadFromFile("sample.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:A4")
cells.Style.Locked = True
'パスワードでシートを保護する
sheet.Protect("123456", SheetProtectionType.All)
'ドキュメントを保存する
workbook.SaveToFile("result.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace