Microsoft Word bietet Ihnen die Möglichkeit, Kommentare zu Word Dokumenten hinzuzufügen. Kommentare können hilfreich sein, wenn Sie beispielsweise Verbesserungen in Dokumenten vorschlagen oder Gedanken zum Text teilen. Es kann Situationen geben, in denen Sie Kommentare programmgesteuert verwalten müssen. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie in C++ mit Kommentaren in Word Dokumenten arbeiten.

C++-API zum Arbeiten mit Kommentaren in Word Dokumenten

Aspose.Words for C++ ist eine native C++ Bibliothek, mit der Sie Microsoft Word Dokumente erstellen, lesen, ändern und konvertieren können. Darüber hinaus unterstützt es auch das Arbeiten mit Kommentaren in DOCX und DOC Dateien. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Words.Cpp

Fügen Sie mit C++ Kommentare zu Word Dokumenten hinzu

Aspose.Words for C++ API bietet die Möglichkeit, Kommentare mit dem Namen des Autors, Initialen und Datum/Uhrzeit hinzuzufügen. Im Folgenden finden Sie die Schritte zum Hinzufügen von Kommentaren zu Word Dokumenten.

Der folgende Beispielcode demonstriert das Hinzufügen von Kommentaren zu Word Dokumenten mit C++.

// Verzeichnispfade.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");

// Erstellen Sie eine Instanz der DocumentBuilder Klasse
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);

// Einen Kommentar hinzufügen
System::SharedPtr<Comment> comment = System::MakeObject<Comment>(doc, u"Aspose", u"AFFA", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild(comment);
comment->get_Paragraphs()->Add(System::MakeObject<Paragraph>(doc));
comment->get_FirstParagraph()->get_Runs()->Add(System::MakeObject<Run>(doc, u"Comment text."));

// Speichern Sie das Dokument.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");

Das Folgende ist das Bild der vom Beispielcode generierten Ausgabe.

Bild der vom Beispielcode generierten Ausgabe

Lesen Sie Kommentare aus einem Word Dokument

Im Folgenden finden Sie die Schritte zum Lesen von Kommentaren aus Word Dokumenten.

Im Folgenden finden Sie den Beispielcode zum Lesen von Kommentaren aus einem Word Dokument mit C++.

// Verzeichnispfade.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Kommentare abrufen
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Durchlaufen Sie alle Kommentare
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
	// Kommentarinformationen drucken
	std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}

Kommentare in einem Word Dokument mit C++ ändern

Um einen Kommentar zu ändern, rufen Sie ihn mit der methode NodeCollection->idxget(int32t index) ab und ändern Sie ihn nach Ihren Bedürfnissen. Im Folgenden sind die Schritte zum Ändern von Kommentaren in einem Word Dokument aufgeführt.

Der folgende Beispielcode zeigt, wie Kommentare in einem Word Dokument mit C++ geändert werden.

// Verzeichnispfade.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Kommentare abrufen
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Kommentar erhalten
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));

// Kommentartext aktualisieren
comment->SetText(u"Updated Text");

// Speichern Sie das Dokument.
doc->Save(outputDataDir + u"UpdatedComment.docx");

Löschen Sie Kommentare aus einem Word Dokument mit C++

Die Aspose.Words for C++ API bietet mehrere Möglichkeiten zum Löschen von Kommentaren aus Word Dokumenten. In diesem Abschnitt erfahren Sie, wie Sie einen bestimmten Kommentar, Kommentare des Autors und alle Kommentare mit C++ löschen.

Einen bestimmten Kommentar löschen

Im Folgenden sind die Schritte zum Löschen eines bestimmten Kommentars aufgeführt.

Der folgende Beispielcode zeigt, wie Sie mit C++ einen bestimmten Kommentar aus einem Word Dokument löschen.

// Verzeichnispfade.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Kommentare abrufen
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Kommentar erhalten
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));

// Kommentar entfernen
comment->Remove();

// Speichern Sie das Dokument.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");

Löschen von Kommentaren nach Autor

Im Folgenden sind die Schritte zum Löschen von Kommentaren nach Autor aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Löschen von Kommentaren nach Autor mithilfe von C++.

// Verzeichnispfade.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Kommentare abrufen
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Gehen Sie alle Kommentare durch und entfernen Sie diejenigen, die vom "Aspose"-Autor geschrieben wurden.
for (int32_t i = comments->get_Count() - 1; i >= 0; i--)
{
	System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(i));
	if (comment->get_Author() == u"Aspose")
	{
		comment->Remove();
	}
}

// Speichern Sie das Dokument.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");

Alle Kommentare löschen

Anstatt einzelne Kommentare zu löschen, können Sie mit der methode NodeCollection->Clear() alle Kommentare auf einmal löschen. Im Folgenden finden Sie die Schritte zum Löschen aller Kommentare aus einem Word Dokument.

Der folgende Beispielcode zeigt, wie alle Kommentare aus einem Word Dokument mit C++ gelöscht werden.

// Verzeichnispfade.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Laden Sie die Word Datei
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Kommentare abrufen
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Entfernen Sie alle Kommentare.
comments->Clear();

// Speichern Sie das Dokument.
doc->Save(outputDataDir + u"DeleteAllComments.docx");

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie in C++ mit Kommentaren in Word Dokumenten arbeiten. Insbesondere haben Sie gelernt, wie Sie Kommentare hinzufügen, lesen, bearbeiten und löschen. Außerdem haben Sie gesehen, wie Sie einen bestimmten Kommentar, Kommentare des Autors und alle Kommentare mit Aspose.Words für die C++-API löschen. Die API bietet eine Vielzahl zusätzlicher Funktionen zur Automatisierung Ihrer Word-bezogenen Aufgaben. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch