Word 文書のコメント機能は、文書の内容を変更したり中断させたりせずに、他の人が自分の意見や見解を追加するのに最適な方法を提供します。誰かが文書にコメントを付けると、文書の作成者や他のユーザーがそのコメントに返信し、文書を同時に閲覧していなくても、コメントを通じて議論を行うことができます。この記事では、Spire.Doc for .NET を使用して C# で Word 文書にコメントを追加、返信、または削除する方法を説明します。
Spire.Doc for .NET をインストールします
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word 文書内の段落にコメントを追加する
Spire.Doc for .NET では、Paragraph.AppendComment() メソッドを使用して特定の段落にコメントを追加できます。以下はその手順です:
- Document クラスのインスタンスを初期化します。
- Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
- Document.Sections[int] プロパティを通じて、文書内の特定のセクションにアクセスします。
- Section.Paragraphs[int] プロパティを通じて、セクション内の特定の段落にアクセスします。
- Paragraph.AppendComment() メソッドを使用して段落にコメントを追加します。
- Comment.Format.Author プロパティを使用してコメントの作成者を設定します。
- Document.SaveToFile() メソッドを使用して文書を保存します。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace AddComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("Sample.docx");
// ドキュメント内の最初のセクションを取得する
Section section = document.Sections[0];
// セクション内の最初の段落を取得する
Paragraph paragraph = section.Paragraphs[4];
// 段落にコメントを追加する
Comment comment = paragraph.AppendComment("LEDスクリーン技術の詳細については、この段落で説明する必要がある。");
// コメントの作成者を設定する
comment.Format.Author = "Janny";
comment.Format.Initial = "J";
// 結果のドキュメントを保存する
document.SaveToFile("output/段落にコメントを追加.docx");
document.Close();
}
}
}
Word 文書内のテキストにコメントを追加する
Paragraph.AppendComment() メソッドは段落全体にコメントを追加するためのものです。デフォルトでは、コメントマークは段落の末尾に配置されます。特定のテキストにコメントを追加するには、Document.FindString() メソッドを使用してテキストを検索し、そのテキストの先頭と末尾にコメントマークを配置する必要があります。以下はその手順です:
- Document クラスのインスタンスを初期化します。
- Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
- Document.FindString() メソッドを使用して文書内の特定のテキストを検索します。
- 見つかったテキストの先頭と末尾に、それぞれコメント開始マークと終了マークを作成します。
- Comment クラスのインスタンスを初期化して新しいコメントを作成し、コメントの内容と作成者を設定します。
- 見つかったテキストの所有段落を取得し、コメントを子オブジェクトとして段落に追加します。
- テキスト範囲の前にコメント開始マークを、テキスト範囲の後にコメント終了マークを挿入します。
- Document.SaveToFile() メソッドを使用して文書を保存します。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace AddCommentsToText
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("Sample.docx");
// 特定の文字列を検索する
TextSelection find = document.FindString("紙幣", false, true);
// コメント開始マークとコメント終了マークを作成する
CommentMark commentmarkStart = new CommentMark(document);
commentmarkStart.Type = CommentMarkType.CommentStart;
CommentMark commentmarkEnd = new CommentMark(document);
commentmarkEnd.Type = CommentMarkType.CommentEnd;
// コメントを作成し、その内容と作成者を設定する
Comment comment = new Comment(document);
comment.Body.AddParagraph().Text = "紙幣がいつどこで発明されたのか、詳細を知りたい。";
comment.Format.Author = "Sam";
// 見つかった文字列を単一のテキスト範囲として取得する
TextRange range = find.GetAsOneRange();
// テキスト範囲の所有者段落を取得する
Paragraph para = range.OwnerParagraph;
// 段落にコメントを追加する
para.ChildObjects.Add(comment);
// 段落内のテキスト範囲のインデックスを取得する
int index = para.ChildObjects.IndexOf(range);
// コメントマーク開始とコメントマーク終了にコメントIDを設定する
commentmarkStart.CommentId = comment.Format.CommentId;
commentmarkEnd.CommentId = comment.Format.CommentId;
// テキスト範囲の前にコメント開始マークを挿入する
para.ChildObjects.Insert(index, commentmarkStart);
// テキスト範囲の後にコメント終了マークを挿入する
para.ChildObjects.Insert(index + 2, commentmarkEnd);
// 結果のドキュメントを保存する
document.SaveToFile("output/テキストにコメントを追加.docx");
document.Close();
}
}
}
Word 文書内のコメントに返信する
既存のコメントに返信を追加するには、Comment.ReplyToComment() メソッドを使用します。以下はその手順です:
- Document クラスのインスタンスを初期化します。
- Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
- Document.Comments[int] プロパティを通じて、文書内の特定のコメントにアクセスします。
- Comment クラスのインスタンスを初期化して新しいコメントを作成し、コメントの内容と作成者を設定します。
- Comment.ReplyToComment() メソッドを使用して、新しいコメントを特定のコメントに対する返信として追加します。
- Document.SaveToFile() メソッドを使用して文書を保存します。
- C#
using Spire.Doc;
using Spire.Doc.Fields;
namespace ReplyToComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("output/テキストにコメントを追加.docx");
// ドキュメント内の最初のコメントを取得する
Comment comment1 = document.Comments[0];
// 新しいコメントを作成し、その作成者と内容を指定する
Comment replyComment1 = new Comment(document);
replyComment1.Format.Author = "Jack";
replyComment1.Body.AddParagraph().AppendText("次のバージョンで追加する予定だ。");
// 最初のコメントへの返信としてコメントを追加する
comment1.ReplyToComment(replyComment1);
// 結果のドキュメントを保存する
document.SaveToFile("output/コメントへの返信.docx", FileFormat.Docx2013);
document.Close();
}
}
}
Word 文書内のコメントを削除する
Spire.Doc for .NET では、Document.Comments.RemoveAt(int) メソッドを使用して特定のコメントを削除したり、Document.Comments.Clear() メソッドを使用してすべてのコメントを削除したりすることができます。以下はその手順です:
- Document クラスのインスタンスを初期化します。
- Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
- Document.Comments.RemoveAt(int) メソッドまたは Document.Comments.Clear() メソッドを使用して、文書内の特定のコメントまたはすべてのコメントを削除します。
- Document.SaveToFile() メソッドを使用して文書を保存します。
- C#
using Spire.Doc;
namespace DeleteComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("output/コメントへの返信.docx");
// ドキュメント内の最初のコメントを削除する
//document.Comments.RemoveAt(0);
// ドキュメント内のすべてのコメントを削除する
document.Comments.Clear();
// 結果のドキュメントを保存する
document.SaveToFile("output/コメントを削除.docx", FileFormat.Docx2013);
document.Close();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。