Word 文書にコメントを追加するには、OpenXML を使用する必要があります。場所または単語 (または複数の単語) にコメントを追加する必要があります。通常、Word 文書内の openxml は、これらのテキストを run 要素として返します。ただ、コメントを入れたかった言葉は、異なる実行要素を含んでいます。そのため、実際に必要なドキュメントの単語にコメントを追加できませんでした。CommentRangeStart
これは、特定のCommentRangeEnd
オブジェクトを追加できなかったことを意味します。
私の現在の実装は以下の通りです。
foreach (var paragraph in document.MainDocumentPart.Document.Descendants<DocumentFormat.OpenXml.Wordprocessing.Paragraph>())
{
foreach (var run in paragraph.Elements<Run>())
{
var item = run.Elements<Text>().FirstOrDefault(b => b.Text.Trim() == "My words selection to add comment");
if (item != null)
{
run.InsertBefore(new CommentRangeStart() { Id = id }, item);
var cmtEnd = run.InsertAfter(new CommentRangeEnd() { Id = id }, item);
run.InsertAfter(new Run(new CommentReference() { Id = id }), cmtEnd);
}
}
}
もっと詳しく..
<w:r><w:t>This </w:t></w:r>
<w:r><w:t>is </w:t></w:r>
<w:r><w:t>a first paragraph</w:t></w:r>
その場合、「最初の段落です」というテキストにコメントを追加するにはどうすればよいですか。
または、場合によっては、openxml ドキュメントに以下のように run 要素が含まれます。
<w:r><w:t>This is a first paragraph</w:t></w:r>
したがって、これらのケースの両方で、特定の単語の選択にコメントを追加する方法. ここにスクリーンショットを追加しました。これはまさに私が欲しいものです。