C# を使用して Excel でスレッド化されたコメントを読み取り、追加、編集する

Excel のスレッド コメントは共同作業に欠かせない機能です。この機能により、複数のユーザーが共有ドキュメント内で会話スレッドを追加、編集、確認できます。場合によっては、これらのスレッド コメントをプログラムで管理する必要があります。このブログ投稿では、C# を使用して Excel でスレッド コメントを読み取り、追加、編集する方法を学びます。

この記事では、以下のトピックについて説明します。

  1. スレッドコメントを管理するための C# Excel API
  2. C# を使用して Excel にスレッドコメントを追加する
  3. Excel の特定のセルのスレッドコメントを読む
  4. C# を使用して Excel ですべてのスレッドコメントを読み取る
  5. C# を使用して Excel でスレッドコメントを編集する
  6. C# を使用して Excel のスレッドコメントを削除する
  7. 無料リソース

スレッドコメントを管理するための C# Excel API

Excel ワークシートのスレッド化されたコメントを操作するには、Aspose.Cells for .NET API を使用します。これは、開発者が .NET アプリケーションで Excel ファイルを作成、操作、変換できるようにする強力なスプレッドシート プログラミング API です。Aspose.Cells for .NET を利用することで、Excel ワークシートのスレッド化されたコメントを簡単に追加、読み取り、編集、削除できます。

APIを利用するには、DLLをダウンロードするか、次のコマンドを使用してNuGetからインストールしてください。

PM> Install-Package Aspose.Cells 

C# を使用して Excel にスレッドコメントを追加する

以下の手順に従うと、Excel ワークシートにスレッド コメントを簡単に追加できます。

  1. Workbook クラスのインスタンスを作成します。
  2. インデックスによって特定のワークシートにアクセスします。
  3. Add() メソッドを使用して、ThreadedCommentAuthors コレクションに作成者を追加します。
  4. 新しく作成された著者の ThreadedCommentAuthor クラス オブジェクトをインデックスで取得します。
  5. AddThreadedComment() メソッドを使用してスレッド化されたコメントを追加します。セル名、コメント テキスト、および ThreadedCommentAuthor オブジェクトを引数として受け取ります。
  6. Workbook.Save(string) メソッドを使用して Excel ファイルを保存します。

次のコード サンプルは、C# を使用して Excel ワークシートにスレッド コメントを追加する方法を示しています。

// このコード例は、Excelワークシートにスレッドコメントを追加する方法を示しています。
// Workbookクラスのインスタンスを作成する
Workbook workbook = new Workbook();

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];

// 著者を追加する
var authorIndex = workbook.Worksheets.ThreadedCommentAuthors.Add("Aspose Test", "", "");
var author = workbook.Worksheets.ThreadedCommentAuthors[authorIndex];

// スレッドコメントを追加
worksheet.Comments.AddThreadedComment("A1", "Test Threaded Comment", author);

// 出力ファイルを保存する
workbook.Save("AddThreadedComments_out.xlsx");

Excel の特定のセルのスレッドコメントを読む

Excel ワークシート内の指定されたセルからスレッド化されたコメントを読み取るには、次の手順に従います。

  1. Workbook クラスを使用して既存の Excel ファイルを読み込みます。
  2. インデックスによってワークシートにアクセスします。
  3. GetThreadedComments() メソッドを使用して、特定のセルのスレッド化されたコメントを取得します。引数としてセル名を受け取ります。
  4. スレッド化されたコメントをすべてループして詳細を読んでください。

次のコード サンプルは、C# を使用して Excel ワークシートから指定された列のスレッド コメントを読み取る方法を示しています。

// このコード例は、Excelワークシート内の指定されたセルのスレッドコメントを読み取る方法を示しています。
// 既存のExcelファイルを読み込む
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];

// 特定のセルのスレッドコメントを取得する
var threadedComments = worksheet.Comments.GetThreadedComments("A1");

// スレッドコメントを読む
foreach (var comment in threadedComments)
{
    Console.WriteLine("Author Name: " + comment.Author.Name);
    Console.WriteLine("Threaded comment Notes:" + comment.Notes);
}
Author Name: author@domain.com
Threaded comment Notes:Test Threaded Comment

C# を使用して Excel ですべてのスレッドコメントを読み取る

同様に、以下の手順に従うことで、Excel ワークシートで利用可能なすべてのスレッド コメントを読み取ることができます。

  1. Workbook クラスを使用して既存の Excel ファイルを読み込みます。
  2. すべてのコメントをループし、スレッド化されたコメントを 1 つずつ読みます。

次のコード サンプルは、C# を使用して Excel ワークシートからすべてのスレッド コメントを読み取る方法を示しています。

// このコード例は、Excelワークシート内の指定されたセルのスレッドコメントを読み取る方法を示しています。
// 既存のExcelファイルを読み込む
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];

// すべてのコメントを取得する
var comments = worksheet.Comments;

// スレッドコメントをすべて読む
foreach (var comment in comments)
{ 
    // スレッドコメントを処理する
    foreach (var threadedComment in comment.ThreadedComments)
    {
        Console.WriteLine("Author Name: " + threadedComment.Author.Name);
        Console.WriteLine("Threaded comment author User Id: " + threadedComment.Author.UserId);
        Console.WriteLine("Threaded comment author ProviderId:" + threadedComment.Author.ProviderId);
        Console.WriteLine("Threaded comment Notes:" + threadedComment.Notes);
    }
}

C# を使用して Excel のスレッドコメントを編集する

Excel 内のスレッド化されたコメントを更新するには、以下の手順に従ってください。

  1. Workbook クラスを使用して既存の Excel ファイルを読み込みます。
  2. インデックスによってワークシートにアクセスします。
  3. GetThreadedComments() メソッドを使用して、特定のセルのスレッド化されたコメントを取得します。引数としてセル名を受け取ります。
  4. コメントの notes プロパティを更新します。
  5. Workbook.Save(string) メソッドを使用して Excel ファイルを保存します。

次のコード サンプルは、C# を使用して Excel ワークシート内のスレッド コメントを編集する方法を示しています。

// このコード例は、Excelワークシート内のスレッドコメントを編集する方法を示しています。
// 既存のExcelファイルを読み込む
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");

// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];

// 特定のセルのスレッドコメントを取得する
var threadedComments = worksheet.Comments.GetThreadedComments("A1");
var comment = threadedComments[0];

// コメントノートを更新する
comment.Notes = "Updated Comment";

// 出力ファイルを保存する
workbook.Save("EditThreadedComments.xlsx");

C# を使用して Excel のスレッド コメントを削除する

以下の手順に従って、Excel ワークシート内の特定のセルのスレッド化されたコメントを削除することもできます。

  1. Workbook クラスを使用して既存の Excel ファイルを読み込みます。
  2. インデックスによってワークシートにアクセスします。
  3. RemoveAt() メソッドを使用して、コメント コレクションからコメントを削除します。セル名を引数として受け取ります。
  4. Save(string) メソッドを使用して Excel ファイルを保存します。

次のコード サンプルは、C# を使用して Excel ワークシート内のスレッド コメントを削除する方法を示しています。

// このコード例は、Excelワークシート内のスレッドコメントを削除する方法を示しています。
// 既存のExcelファイルを読み込む
Workbook workbook = new Workbook("AddThreadedComments_out.xlsx");

// すべてのコメントを取得する
var comments = workbook.Worksheets[0].Comments;

// コメントを削除
comments.RemoveAt("A1");

// 出力ファイルを保存する
workbook.Save("DeleteThreadedComments.xlsx");

無料ライセンスを取得する

試用制限なしで Excel のスレッド コメントの読み取り、追加、編集を行うには、無料の一時ライセンスを取得してください。無料ライセンスをすばやく取得するためのわかりやすい手順については、「一時ライセンス」ページをご覧ください。

Excel のスレッドコメント – 無料リソース

Excel ワークシートのスレッド コメントの操作に加えて、Excel ファイルの作成、操作、変換についてさらに詳しく学習できます。以下のリソースを使用して、Aspose.Cells for .NET のその他のさまざまな機能を調べてください。

結論

この記事では、C# を使用して Excel ワークシートからスレッド化されたコメントを読み取り、追加、編集、削除する方法を学びました。Aspose.Cell for .NET を活用することで、C# アプリケーションで Excel ワークシートを簡単に操作できます。不明な点がある場合は、無料サポート フォーラム でお問い合わせください。

参照