Как программно преобразовать комментарии Microsoft Word в закладки с помощью C #? - PullRequest
0 голосов
/ 24 августа 2011

Поскольку закладки могут быть включены в URL, я хочу преобразовать все комментарии в документе в закладки.

Я написал приложение ac #, которое отображает документ Microsoft Word в элементе управления activex веб-браузера.Я получаю ручку к документу и могу перечислить комментарии.Но когда я пытаюсь вставить закладки в местоположение комментария, я получаю пустые закладки, которые ни на что не указывают, например:

    void ButtonConvertCommentsClick(object sender, EventArgs e)
    {
        Word.Comments wordComments = this.wordDoc.Comments;           
        MessageBox.Show("This document has " + wordComments.Count + " comments.");

        for (int n = 1; n <= wordComments.Count; n++)
        {
            Word.Comment comment = this.wordDoc.Comments[n];
            Word.Range range = comment.Range;
            String commentText = comment.Range.Text;

            this.wordDoc.Application.ActiveDocument.Bookmarks.Add("BOOKMARK"+n, range);
        }
        this.wordDoc.Save();
        ....
    }

Предполагается, что в документе было 3 комментария "BOOKMARK1",«BOOKMARK2» и «BOOKMARK3» отображаются в списке закладок, но кнопка «Перейти к ...» отключена для всех из них.

Что я делаю не так?

1 Ответ

0 голосов
/ 24 августа 2011

Используйте scope, чтобы получить диапазон комментариев ...

    for (int n = 1; n <= wordComments.Count; n++)
    {
        Word.Comment comment = this.wordDoc.Comments[n];
        Word.Range range = this.wordDoc.Range(comment.Scope.Start, comment.Scope.End);
        String commentText = comment.Range.Text;

        this.wordDoc.Application.ActiveDocument.Bookmarks.Add("BOOKMARK"+n, range);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...