Add Remove Reply to Comment in Word Document using C# or Java | Mark Comment as Done | Remove all Replies from Comment

Hi Guys,


I have looked hard to see whether we can support the reply concept and comment done concepts in Word.

Selecting an existing comment you can right click and add a reply in which case its a new comment that is indented or mark it as “Done” where it grays out.

Is there any support in or planned for these concepts?

Thanks

Jan

Hi Jan,


Thanks for your inquiry. I am afraid, you can’t current reply to a comment or mark it as done using Aspose.Words. Your request has been linked to the appropriate issues (WORDSNET-9959, WORDSNET-10901) and you will be notified as soon as these features are available. Sorry for the inconvenience.

Best regards,

@JanUrbanski,

The issues you have found earlier (filed as WORDSNET-10901) have been fixed in this Aspose.Words for .NET 17.8 update and this Aspose.Words for Java 17.8 update.

@JanUrbanski,

The issues you have found earlier (filed as WORDSNET-9959) have been fixed in this Aspose.Words for .NET 17.10 update and this Aspose.Words for Java 17.10 update.

@JanUrbanski,

Regarding WORDSNET-9959, starting from the 17.10 versions of Aspose.Words for .NET and Aspose.Words for Java APIs, we have added AddReply, RemoveReply and RemoveAllReplies new public methods to the Comment class. These can be used to add or remove a reply to/from a comment inside Word document. You can also remove all the replies from a comment using RemoveAllReplies method.

C# code to first remove a reply from comment and then add a new reply to a comment in Word document using Aspose.Words for .NET API is as follows:

Document doc = new Document(fileName);
Comment comment = (Comment)doc.GetChild(NodeType.Comment, 0, true);

comment.RemoveReply(comment.Replies[1]);

comment.AddReply("John Doe", "JD", new DateTime(2017, 9, 25, 12, 15, 0), "New reply");

doc.Save(outFileName);

@JanUrbanski,

Regarding WORDSNET-10901, it is to inform you that we had also added Comment.Done Property in Aspose.Words API that can be used to get or set a flag indicating that the comment in Word document has been marked as done or not.

The following C# example of Aspose.Words for .NET shows as to how to mark a Comment as Done.

Document doc = new Document(MyDir + "Comments.docx");

NodeCollection comments = doc.GetChildNodes(NodeType.Comment, true);

Comment comment = (Comment)comments[0];
CommentCollection repliesCollection = comment.Replies;

foreach (Comment childComment in repliesCollection)
{
    if (!childComment.Done)
    {
        // Update comment reply Done mark
        childComment.Done = true;
    }
}