Verwaltung von Word-Dokumenten in Python: Hinzufügen, Löschen und Beantworten von Kommentaren
Tags: python, word, document, comment
Published: 2023-10-26 09:55:23

In Word-Dokumenten sind Kommentare ein wichtiges Werkzeug für Zusammenarbeit und Feedback. Indem Sie lernen, wie Sie Kommentare in Word-Dokumenten effizient hinzufügen, löschen und darauf antworten können, können Sie den Workflow Ihrer Dokumente erheblich verbessern, unabhängig vom Zweck, sei es das Teilen von Ideen, das Beantworten vorhandener Kommentare oder das Entfernen alter Feedbacks. Ziel dieses Artikels ist es, zu erklären, wie Sie mithilfe des Python-Programms [Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html) **Kommentare zu Word-Dokumenten hinzufügen, löschen und darauf antworten** können.

- **[Hinzufügen von Kommentaren zu Word-Dokumenten mit Python](#hinzuf%C3%BCgen-von-kommentaren-zu-worddokumenten-mit-python)**
- **[Entfernen von Kommentaren aus Word-Dokumenten mit Python](#entfernen-von-kommentaren-aus-worddokumenten-mit-python)**
- **[Antworten auf Kommentare in Word-Dokumenten mit Python](#antworten-auf-kommentare-in-worddokumenten-mit-python)**

Für dieses Tutorial benötigen Sie Spire.Doc for Python. Sie können Spire.Doc for Python entweder von der [offiziellen Website](https://www.e-iceblue.com/Download/Spire-Doc-Python.html) herunterladen oder über pip installieren:

```powershell
pip install Spire.Doc
```

## Hinzufügen von Kommentaren zu Word-Dokumenten mit Python
Spire.Doc for Python bietet die Klasse **Comment**, die einen Kommentar in einem Word-Dokument repräsentiert. Sie können ein Objekt dieser Klasse erstellen und es einem bestimmten Text hinzufügen, um einen Kommentar zu diesem Text hinzuzufügen. Sie müssen auch die Start- und Endmarkierungen des Kommentars verwenden, um den Bereich des Textes zu steuern, auf den sich der Kommentar bezieht. Hier ist eine detaillierte Anleitung zum Hinzufügen eines Kommentars zu einem Absatz:

- Erstellen Sie ein Objekt der Klasse **Document** und laden Sie das Word-Dokument mit der Methode **Document.LoadFromFile()**.
- Verwenden Sie die Methode **Document.FindString()**, um den Text zu finden, zu dem Sie einen Kommentar hinzufügen möchten.
- Erstellen Sie ein Objekt der Klasse **Comment**, setzen Sie den Kommentarinhalt mit der Eigenschaft **Comment.Body.AddParagraph().Text** und den Kommentarautor mit der Eigenschaft **Comment.Format.Author**.
- Rufen Sie den Text als einen einzigen Bereich mit der Methode **TextSelection.GetAsOneRange()** ab und erhalten Sie den Absatz, dem der Text gehört, mit der Eigenschaft **TextRange.OwnerParagraph**.
- Fügen Sie den Kommentar nach dem gefundenen Text mit der Methode **Paragraph.ChildObjects.Insert()** ein.
- Erstellen Sie Start- und Endmarkierungen für den Kommentar und setzen Sie die Start- und Endmarkierungen des erstellten Kommentars mit der Eigenschaft **CommentMark.CommentId**.
- Fügen Sie die Start- und Endmarkierungen des Kommentars vor bzw. nach dem Text ein, den Sie kommentieren möchten, mit der Methode **Paragraph.ChildObjects.Insert()**.
- Speichern Sie das Dokument mit der Methode **Document.SaveToFile()**.

**Python**
```python
from spire.doc import *
from spire.doc.common import *

# Importiere die erforderlichen Bibliotheken

# Erstelle eine Instanz der Klasse Document und lade ein Word-Dokument
doc = Document()
doc.LoadFromFile("Beispiel.docx")

# Suche nach dem Text, zu dem ein Kommentar hinzugefügt werden soll
text = doc.FindString("Tauschmittel", True, True)

# Erstelle eine Kommentarinstanz und setze den Inhalt und den Autor des Kommentars
comment = Comment(doc)
comment.Body.AddParagraph().Text = "Zu den Tauschmitteln gehören auch der Warentausch, Kreditgeschäfte und der Austausch von Vermögenswerten."
comment.Format.Author = "Linda"

# Verwende den gefundenen Text als Textbereich und erhalte den zugehörigen Absatz
range = text.GetAsOneRange()
paragraph = range.OwnerParagraph

# Füge den Kommentar dem Absatz hinzu
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, comment)

# Erstelle Start- und Endmarkierungen für den Kommentar und weise ihnen die entsprechende Kommentar-ID zu
commentStart = CommentMark(doc, CommentMarkType.CommentStart)
commentEnd = CommentMark(doc, CommentMarkType.CommentEnd)
commentStart.CommentId = comment.Format.CommentId
commentEnd.CommentId = comment.Format.CommentId

# Füge die erstellten Start- und Endmarkierungen vor und nach dem gefundenen Text ein
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range), commentStart)
paragraph.ChildObjects.Insert(paragraph.ChildObjects.IndexOf(range) + 1, commentEnd)

# Speichere das Dokument
doc.SaveToFile("output/Kommentar_zum_Text.docx")
doc.Close()
```

**Ergebnis des Dokuments**

![Hinzufügen von Kommentaren zu Word-Dokumenten mit Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ot2c2sn9vscqluqpzid7.png)

## Entfernen von Kommentaren aus Word-Dokumenten mit Python
Spire.Doc for Python bietet die Methode **Document.Comments.RemoveAt()**, um einen bestimmten Kommentar zu entfernen, und die Methode **Document.Comments.Clear()**, um alle Kommentare zu entfernen. Hier ist eine detaillierte Anleitung zum Entfernen von Kommentaren:

- Erstellen Sie ein Objekt der Klasse **Document** und laden Sie das Word-Dokument mit der Methode **Document.LoadFromFile()**.
- Verwenden Sie die Methode **Document.Comments.RemoveAt()**, um einen bestimmten Kommentar zu entfernen, oder die Methode **Document.Comments.Clear()**, um alle Kommentare zu entfernen.
- Speichern Sie das Dokument mit der Methode **Document.SaveToFile()**.

**Python**
```python
from spire.doc import *
from spire.doc.common import *

# Importiere die erforderlichen Bibliotheken

# Erstelle eine Instanz der Klasse Document und lade ein Word-Dokument
doc = Document()
doc.LoadFromFile("Beispiel.docx")

# Entferne den zweiten Kommentar
doc.Comments.RemoveAt(1)

# Entferne alle Kommentare
#doc.Comments.Clear()

# Speichere das Dokument
doc.SaveToFile("output/Kommentare_löschen.docx")
doc.Close()
```

## Antworten auf Kommentare in Word-Dokumenten mit Python
Mit Spire.Doc for Python können Benutzer mithilfe der Methode **Comment.ReplyToComment(Comment)** auf Kommentare antworten, indem sie einen Kommentar als Antwort auf einen anderen Kommentar festlegen. Hier ist eine detaillierte Anleitung zum Beantworten von Kommentaren:

- Erstellen Sie ein Objekt der Klasse **Document** und laden Sie das Word-Dokument mit der Methode **Document.LoadFromFile()**.
- Holen Sie sich den Kommentar mit der Methode **Document.Comments.get_Item()**.
- Erstellen Sie einen Kommentar, setzen Sie den Inhalt mit der Eigenschaft **Comment.Body.AddParagraph().Text** und den Autor mit der Eigenschaft **Comment.Format.Author**.
- Verwenden Sie die Methode **Comment.ReplyToComment()**, um den erstellten Kommentar als Antwort auf den abgerufenen Kommentar festzulegen.
- Speichern Sie das Dokument mit der Methode **Document.SaveToFile()**.

**Python**
```python
from spire.doc import *
from spire.doc.common import *

# Importiere die erforderlichen Bibliotheken

# Erstelle eine Instanz der Klasse Document und lade ein Word-Dokument
doc = Document()
doc.LoadFromFile("output/Kommentar_zum_Text.docx")

# Hole einen Kommentar
comment = doc.Comments.get_Item(0)

# Erstelle einen Antwortkommentar und setze den Inhalt und den Autor
reply = Comment(doc)
reply.Body.AddParagraph().Text = "Wir fügen den für den Artikel relevanten Inhalt hinzu."
reply.Format.Author = "Molly"

# Setze den erstellten Kommentar als Antwort auf den abgerufenen Kommentar
comment.ReplyToComment(reply)

# Speichere das Dokument
doc.SaveToFile("output/Antwort_auf_Kommentare.docx")
doc.Close()
```

**Ergebnis des Dokuments**

![Antworten auf Kommentare in Word-Dokumenten mit Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gutxl2rgaehpqu3sapuc.png)

Erfahren Sie, wie Sie mit Python Kommentare in einem Word-Dokument hinzufügen, entfernen und beantworten können. Weitere Informationen über die Verwendung von Spire.Doc for Python finden Sie im [Spire.Doc for Python-Tutorial](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Spire.Doc-for-Python-Program-Guide-Content.html). Sie können sich auch an der Diskussion im [Spire.Doc-Forum](https://www.e-iceblue.com/forum/spire-doc-f6.html) beteiligen.