Категория

C#/VB.NET: добавление комментариев в Word, ответ на них или удаление их

2023-09-27 06:36:06

Функция комментариев в Microsoft Word предоставляет людям отличный способ добавить свои идеи или мнения в документ Word без необходимости изменять или прерывать содержимое документа. Если кто-то комментирует документ, автор документа или другие пользователи могут ответить на комментарий, чтобы обсудить с ним, даже если они не просматривают документ одновременно. В этой статье будет показано, как добавлять, отвечать на комментарии или удалять комментарии в Word на C# и VB.NET с помощью библиотеки Spire.Doc for .NET.

Установите Spire.Doc for .NET

Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.Doc for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.Doc

Добавление комментария к абзацу в Word на C# и VB.NET

Spire.Doc for .NET предоставляет метод Paragraph.AppendComment() для добавления комментария к определенному абзацу. Ниже приведены подробные шаги:

  • Инициализируйте экземпляр класса Document.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Доступ к определенному разделу документа по его индексу через свойство Document.Sections[int].
  • Доступ к определенному абзацу раздела по его индексу через свойство Раздел.Параграфы[int].
  • Добавьте комментарий к абзацу, используя метод Paragraph.AppendComment().
  • Установите автора комментария через свойство Comment.Format.Author.
  • Сохраните полученный документ с помощью метода 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

Добавление комментария к тексту в Word на C# и VB.NET

Метод Paragraph.AppendComment() используется для добавления комментариев ко всему абзацу. По умолчанию знаки комментариев будут размещены в конце абзаца. Чтобы добавить комментарий к определенному тексту, вам необходимо выполнить поиск текста с помощью метода Document.FindString(), а затем разместить метки комментариев в начале и конце текста. Ниже приведены подробные шаги:

  • Инициализируйте экземпляр класса Document.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Найдите определенный текст в документе, используя метод Document.FindString().
  • Создайте метку начала комментария и метку конца комментария, которые будут размещены в начале и конце найденного текста соответственно.
  • Инициализируйте экземпляр класса Comment, чтобы создать новый комментарий. Затем укажите содержание и автора комментария.
  • Получите владелец абзаца найденного текста. Затем добавьте комментарий к абзацу как дочерний объект.
  • Вставьте метку начала комментария перед текстовым диапазоном и метку конца комментария после текстового диапазона.
  • Сохраните полученный документ с помощью метода 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

Ответ на комментарий в Word на C# и VB.NET

Чтобы добавить ответ на существующий комментарий, вы можете использовать метод Comment.ReplyToComment(). Ниже приведены подробные шаги:

  • Инициализируйте экземпляр класса Document.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Получите конкретный комментарий в документе через свойство Document.Comments[int].
  • Инициализируйте экземпляр класса Comment, чтобы создать новый комментарий. Затем установите содержимое и автора комментария.
  • Добавьте новый комментарий в качестве ответа на конкретный комментарий, используя метод Comment.ReplyToComment().
  • Сохраните полученный документ с помощью метода 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

Удаление комментариев в Word на C# и VB.NET

Spire.Doc for .NET предлагает метод Document.Comments.RemoveAt(int) для удаления определенного комментария из документа Word и метод Document.Comments.Clear() для удаления всех комментариев из документа Word. Ниже приведены подробные шаги:

  • Инициализируйте экземпляр класса Document.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Удалите определенный комментарий или все комментарии в документе с помощью метода Document.Comments.RemoveAt(int) или Document.Comments.Clear().
  • Сохраните полученный документ с помощью метода 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

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также