C#/VB.NET: Adicionar, responder ou excluir comentários no Word

2023-09-27 06:37:17

O recurso de comentários do Microsoft Word oferece uma excelente maneira para as pessoas adicionarem seus insights ou opiniões a um documento do Word sem precisar alterar ou interromper o conteúdo do documento. Se alguém comentar um documento, o autor do documento ou outros usuários poderão responder ao comentário para discutir com ele, mesmo que não estejam visualizando o documento ao mesmo tempo. Este artigo demonstrará como adicione, responda ou exclua comentários no Word em C# e VB.NET usando a biblioteca Spire.Doc for .NET.

Instale o Spire.Doc for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.Doc for.NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.Doc

Adicione um comentário ao parágrafo no Word em C# e VB.NET

Spire.Doc for .NET fornece o método Paragraph.AppendComment() para adicionar um comentário a um parágrafo específico. A seguir estão as etapas detalhadas:

  • Inicialize uma instância da classe Document.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Acesse uma seção específica do documento pelo seu índice através da propriedade Document.Sections[int].
  • Acesse um parágrafo específico da seção pelo seu índice através da propriedade Section.Paragraphs[int].
  • Adicione um comentário ao parágrafo usando o método Paragraph.AppendComment().
  • Defina o autor do comentário através da propriedade Comment.Format.Author.
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    
    namespace AddComments
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Initialize an instance of the Document class
                Document document = new Document();
                //Load a Word document
                document.LoadFromFile(@"Sample.docx");
    
                //Get the first section in the document
                Section section = document.Sections[0];
    
                //Get the first paragraph in the section
                Paragraph paragraph = section.Paragraphs[0];
                //Add a comment to the paragraph
                Comment comment = paragraph.AppendComment("This comment is added using Spire.Doc for .NET.");
                //Set comment author
                comment.Format.Author = "Eiceblue";
                comment.Format.Initial = "CM";
    
                //Save the result document
                document.SaveToFile("AddCommentToParagraph.docx", FileFormat.Docx2013);
                document.Close();
            }
        }
    }

C#/VB.NET: Add, Reply to or Delete Comments in Word

Adicione um comentário ao texto no Word em C# e VB.NET

O método Paragraph.AppendComment() é usado para adicionar comentários a um parágrafo inteiro. Por padrão, os comentários serão colocados no final do parágrafo. Para adicionar um comentário a um texto específico, você precisa pesquisar o texto usando o método Document.FindString() e, em seguida, colocar as marcas de comentário no início e no final do texto. A seguir estão as etapas detalhadas:

  • Inicialize uma instância da classe Document.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Encontre o texto específico no documento usando o método Document.FindString().
  • Crie uma marca de início de comentário e uma marca de final de comentário, que serão colocadas no início e no final do texto encontrado, respectivamente.
  • Inicialize uma instância da classe Comment para criar um novo comentário. Em seguida, defina o conteúdo e o autor do comentário.
  • Obtenha o parágrafo do proprietário do texto encontrado. Em seguida, adicione o comentário ao parágrafo como objeto filho.
  • Insira a marca de início do comentário antes do intervalo de texto e a marca de final do comentário após o intervalo de texto.
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    
    namespace AddCommentsToText
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Initialize an instance of the Document class
                Document document = new Document();
                //Load a Word document
                document.LoadFromFile(@"CommentTemplate.docx");
    
                //Find a specific string
                TextSelection find = document.FindString("Microsoft Office", false, true);
    
                //Create the comment start mark and comment end mark
                CommentMark commentmarkStart = new CommentMark(document);
                commentmarkStart.Type = CommentMarkType.CommentStart;
                CommentMark commentmarkEnd = new CommentMark(document);
                commentmarkEnd.Type = CommentMarkType.CommentEnd;
    
                //Create a comment and set its content and author
                Comment comment = new Comment(document);
                comment.Body.AddParagraph().Text = "Developed by Microsoft.";
                comment.Format.Author = "Shaun";
    
                //Get the found text as a single text range
                TextRange range = find.GetAsOneRange();
    
                //Get the owner paragraph of the text range
                Paragraph para = range.OwnerParagraph;
    
                //Add the comment to the paragraph
                para.ChildObjects.Add(comment);
    
                //Get the index of text range in the paragraph
                int index = para.ChildObjects.IndexOf(range);
    
                //Insert the comment start mark before the text range
                para.ChildObjects.Insert(index, commentmarkStart);
                //Insert the comment end mark after the text range
                para.ChildObjects.Insert(index + 2, commentmarkEnd);
    
                //Save the result document
                document.SaveToFile("AddCommentForText.docx", FileFormat.Docx2013);
                document.Close();
            }
        }
    }

C#/VB.NET: Add, Reply to or Delete Comments in Word

Responder a um comentário no Word em C# e VB.NET

Para adicionar uma resposta a um comentário existente, você pode usar o método Comment.ReplyToComment(). A seguir estão as etapas detalhadas:

  • Inicialize uma instância da classe Document.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha um comentário específico no documento através da propriedade Document.Comments[int].
  • Inicialize uma instância da classe Comment para criar um novo comentário. Em seguida, defina o conteúdo e o autor do comentário.
  • Adicione o novo comentário como resposta ao comentário específico usando o método Comment.ReplyToComment().
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    using Spire.Doc.Fields;
    
    namespace ReplyToComments
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Initialize an instance of the Document class
                Document document = new Document();
                //Load a Word document
                document.LoadFromFile(@"AddCommentToParagraph.docx");
    
                //Get the first comment in the document
                Comment comment1 = document.Comments[0];
    
                //Create a new comment and specify its author and content
                Comment replyComment1 = new Comment(document);
                replyComment1.Format.Author = "Michael";
                replyComment1.Body.AddParagraph().AppendText("Spire.Doc is a wonderful Word library.");
    
                //Add the comment as a reply to the first comment
                comment1.ReplyToComment(replyComment1);
    
                //Save the result document
                document.SaveToFile("ReplyToComment.docx", FileFormat.Docx2013);
                document.Close();
            }
        }
    }

C#/VB.NET: Add, Reply to or Delete Comments in Word

Excluir comentários no Word em C# e VB.NET

Spire.Doc for .NET oferece o método Document.Comments.RemoveAt(int) para remover um comentário específico de um documento do Word e o método Document.Comments.Clear() para remover todos os comentários de um documento do Word. A seguir estão as etapas detalhadas:

  • Inicialize uma instância da classe Document.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Exclua um comentário específico ou todos os comentários do documento usando o método Document.Comments.RemoveAt(int) ou o método Document.Comments.Clear().
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace DeleteComments
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Initialize an instance of the Document class
                Document document = new Document();
                //Load a Word document
                document.LoadFromFile(@"AddCommentToParagraph.docx");
    
                //Delete the first comment in the document
                document.Comments.RemoveAt(0);
    
                //Delete all comments in the document
                //document.Comments.Clear();
    
                //Save the result document
                document.SaveToFile("DeleteComment.docx", FileFormat.Docx2013);
                document.Close();
            }
        }
    }

C#/VB.NET: Add, Reply to or Delete Comments in Word

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também