0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C#/VB.NET:Excel で特定のセルをロックする方法

Posted at

セルのロックは、Excelのシートで特定のセルを誤って変更しないように保護する機能です。セルをロックすることで、パスワードまたは権限があるユーザーだけがこれらのセルを編集でき、他のユーザーは閲覧または他のロックされていないセルを編集することしかできません。これは、重要なデータを共有し、保護する際に非常に便利です。Free Spire.XLS for .NETは.NETプラットフォームでこの機能を実現することをサポートします。詳細な方法とサンプルコードを次に示します。

Free Spire.XLS for .NETをインストールする

方法1NuGetで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

2023-04-07_165333.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?