チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Doc for Python»コメント»Python:Word 文書でコメントを追加・削除・返信する方法
2025-03-21

Python:Word 文書でコメントを追加・削除・返信する方法

Word 文書のコメント機能は、コラボレーションやフィードバックにおいて非常に重要な役割を果たします。コメントを活用することで、意見の共有、提案、説明、議論をスムーズに行うことができます。アイデアを伝えたり、既存のコメントに返信したり、不要なコメントを削除したりすることで、ドキュメントの作業効率を大幅に向上させることができます。本記事では、Spire.Doc for Python を使用して Python で Word 文書のコメントを追加、削除、返信する方法について解説します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Word 文書の段落にコメントを追加する

Spire.Doc for Python では、Paragraph.AppendComment() メソッドを使用して、指定した段落にコメントを追加できます。コメント対象のテキスト範囲は、コメントの開始マークと終了マークを設定することで制御します。以下の手順で段落にコメントを追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して最初のセクションを取得します。
  • Section.Paragraphs.get_Item() メソッドを使用して、そのセクションの最初の段落を取得します。
  • Paragraph.AppendComment() メソッドで、段落にコメントを追加します。
  • Comment.Format.Author プロパティを設定して、コメントの作成者を指定します。
  • コメントの開始マーク (CommentMark) と終了マーク (CommentMark) を作成し、それらを CommentMark.CommentId プロパティを通じてコメントの開始・終了位置として設定します。
  • Paragraph.ChildObjects.Insert() メソッドを使用して、コメントの開始マークと終了マークをそれぞれ段落の先頭と末尾に挿入します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, CommentMark, CommentMarkType

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 4 番目の段落を取得します
paragraph = section.Paragraphs.get_Item(3)

# 段落にコメントを追加します
comment = paragraph.AppendComment("この部分はさらに説明が必要です。")

# コメントの著者を設定します
comment.Format.Author = "大輝"

# コメントの開始マークと終了マークを作成し、作成したコメントの開始マークと終了マークとして設定します
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# コメントの開始マークと終了マークを段落の先頭と末尾に挿入します
paragraph.ChildObjects.Insert(0, commentStart)
paragraph.ChildObjects.Add(commentEnd)

# 文書を保存します
doc.SaveToFile("output/段落へのコメント.docx")
doc.Close()

PythonでWordの段落にコメントを追加

Python で Word 文書のテキストにコメントを追加する

Spire.Doc for Python では、指定したテキストを検索し、その部分にコメントを追加することも可能です。以下の手順で、特定のテキストにコメントを追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.FindString() メソッドを使用して、コメントを追加したいテキストを検索します。
  • Comment クラスのオブジェクトを作成し、Comment.Body.AddParagraph().Text プロパティでコメント内容を設定し、Comment.Format.Author プロパティで作成者を指定します。
  • TextSelection.GetAsOneRange() メソッドを使用して、検索したテキストを TextRange として取得し、TextRange.OwnerParagraph プロパティを使ってそのテキストが属する段落を取得します。
  • Paragraph.ChildObjects.Insert() メソッドで、検索したテキストの後にコメントを挿入します。
  • コメントの開始マーク (CommentMark) と終了マーク (CommentMark) を作成し、それらを CommentMark.CommentId プロパティを通じてコメントの開始・終了位置として設定します。
  • Paragraph.ChildObjects.Insert() メソッドを使用して、検索したテキストの前後にコメントの開始マークと終了マークを挿入します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, Comment, CommentMark, CommentMarkType

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample.docx")

# コメントを追加するテキストを検索します
text = doc.FindString("抗酸化作用", True, True)

# コメントを作成し、コメントの内容と著者を設定します
comment = Comment(doc)
comment.Body.AddParagraph().Text = "抗酸化作用について、さらに詳しく説明する必要があります。"
comment.Format.Author = "奈々"

# 検索したテキストをテキスト範囲として取得し、それが属する段落を取得します
range = text.GetAsOneRange()
paragraph = range.OwnerParagraph

# コメントを段落に追加します
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, comment)

# コメントの開始マークと終了マークを作成し、作成したコメントの開始マークと終了マークとして設定します
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# 作成したコメントの開始マークと終了マークを、検索したテキストの前後に挿入します
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range), commentStart)
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, commentEnd)

# 文書を保存します
doc.SaveToFile("output/テキストへのコメント.docx")
doc.Close()

Spire.DocでWordのテキストにコメントを追加

Python で Word 文書のコメントを削除する

Spire.Doc for Python では、Document.Comments.RemoveAt() メソッドを使用して特定のコメントを削除できます。また、Document.Comments.Clear() メソッドを使用すれば、すべてのコメントを削除できます。以下の手順でコメントを削除します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Comments.RemoveAt() メソッドを使用して特定のコメントを削除する、または Document.Comments.Clear() メソッドですべてのコメントを削除します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("Sample1.docx")

# 2 番目のコメントを削除します
doc.Comments.RemoveAt(1)

# すべてのコメントを削除します
# doc.Comments.Clear()

# 文書を保存します
doc.SaveToFile("output/コメントの削除.docx")
doc.Close()

PythonでWordからコメントを削除

Python で Word 文書のコメントに返信する

Spire.Doc for Python を使用すると、Comment.ReplyToComment(Comment) メソッドを利用して、特定のコメントに対して返信を追加できます。以下の手順でコメントに返信を追加します。

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Comments.get_Item() メソッドを使用して、対象のコメントを取得します。
  • Comment クラスのオブジェクトを作成し、Comment.Body.AddParagraph().Text プロパティでコメント内容を設定し、Comment.Format.Author プロパティで作成者を指定します。
  • Comment.ReplyToComment() メソッドを使用して、作成したコメントを取得したコメントへの返信として設定します。
  • Document.SaveToFile() メソッドで Word 文書を保存します。
  • Python
from spire.doc import Document, Comment

# Document クラスのオブジェクトを作成し、Word 文書を読み込みます
doc = Document()
doc.LoadFromFile("output/テキストへのコメント.docx")

# コメントを取得します
comment = doc.Comments.get_Item(0)

# 返信コメントを作成し、内容と著者を設定します
reply = Comment(doc)
reply.Body.AddParagraph().Text = "これは次のバージョンに追加されます。"
reply.Format.Author = "優花"


# 取得したコメントへの返信として作成したコメントを設定します
comment.ReplyToComment(reply)

# 文書を保存します
doc.SaveToFile("output/コメントへの返信.docx")
doc.Close()

Python用Spire.DocでWordのコメントに返信

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 49 times