C#/VB.NET : ajouter, répondre ou supprimer des commentaires dans Word

2023-09-27 06:30:33

La fonctionnalité de commentaire de Microsoft Word constitue un excellent moyen permettant aux utilisateurs d'ajouter leurs idées ou leurs opinions à un document Word sans avoir à modifier ou interrompre le contenu du document. Si quelqu'un commente un document, l'auteur du document ou d'autres utilisateurs peuvent répondre au commentaire pour discuter avec lui, même s'ils ne consultent pas le document en même temps. Cet article montrera comment ajoutez, répondez ou supprimez des commentaires dans Word en C# et VB.NET à l'aide de la bibliothèque Spire.Doc for .NET.

Installer Spire.Doc for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for.NET comme références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.Doc

Ajouter un commentaire au paragraphe dans Word en C# et VB.NET

Spire.Doc for .NET fournit la méthode Paragraph.AppendComment() pour ajouter un commentaire à un paragraphe spécifique. Voici les étapes détaillées :

  • Initialisez une instance de la classe Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Accédez à une section spécifique du document par son index via la propriété Document.Sections[int].
  • Accédez à un paragraphe spécifique de la section par son index via la propriété Section.Paragraphs[int].
  • Ajoutez un commentaire au paragraphe à l’aide de la méthode Paragraph.AppendComment().
  • Définissez l’auteur du commentaire via la propriété Comment.Format.Author.
  • Enregistrez le document résultat à l'aide de la méthode 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

Ajouter un commentaire au texte dans Word en C# et VB.NET

La méthode Paragraph.AppendComment() est utilisée pour ajouter des commentaires à un paragraphe entier. Par défaut, les marques de commentaire seront placées à la fin du paragraphe. Pour ajouter un commentaire à un texte spécifique, vous devez rechercher le texte à l'aide de la méthode Document.FindString(), puis placer les marques de commentaire au début et à la fin du texte. Voici les étapes détaillées :

  • Initialisez une instance de la classe Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Recherchez le texte spécifique dans le document à l'aide de la méthode Document.FindString().
  • Créez une marque de début de commentaire et une marque de fin de commentaire, qui seront placées respectivement au début et à la fin du texte trouvé.
  • Initialisez une instance de la classe Comment pour créer un nouveau commentaire. Définissez ensuite le contenu et l'auteur du commentaire.
  • Obtenez le paragraphe propriétaire du texte trouvé. Ajoutez ensuite le commentaire au paragraphe en tant qu'objet enfant.
  • Insérez la marque de début du commentaire avant la plage de texte et la marque de fin du commentaire après la plage de texte.
  • Enregistrez le document résultat à l'aide de la méthode 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

Répondre à un commentaire dans Word en C# et VB.NET

Pour ajouter une réponse à un commentaire existant, vous pouvez utiliser la méthode Comment.ReplyToComment(). Voici les étapes détaillées :

  • Initialisez une instance de la classe Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Obtenez un commentaire spécifique dans le document via la propriété Document.Comments[int].
  • Initialisez une instance de la classe Comment pour créer un nouveau commentaire.Définissez ensuite le contenu et l'auteur du commentaire.
  • Ajoutez le nouveau commentaire en réponse au commentaire spécifique à l'aide de la méthode Comment.ReplyToComment().
  • Enregistrez le document résultat à l'aide de la méthode 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

Supprimer des commentaires dans Word en C# et VB.NET

Spire.Doc for .NET propose la méthode Document.Comments.RemoveAt(int) pour supprimer un commentaire spécifique d'un document Word et la méthode Document.Comments.Clear() pour supprimer tous les commentaires d'un document Word. Voici les étapes détaillées :

  • Initialisez une instance de la classe Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Supprimez un commentaire spécifique ou tous les commentaires du document à l'aide de la méthode Document.Comments.RemoveAt(int) ou Document.Comments.Clear().
  • Enregistrez le document résultat à l'aide de la méthode 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

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également