2014-02-18 2 views
0

Как открыть файл Word и автоматически перейти к третьему комментарию этих файлов, если существует Office Word-Interop?Перейти к трем комментариям

Я тестировал метод Select, но вам нужно перейти к этому комментарию, а не выбирать диапазон текста.

+0

Объект Document имеет свойство [Комментарии] (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word._document.comments (v = office.14) .aspx) , Что вы пробовали? Где вы застряли? – Heinzi

+0

Да. Я знаю, но как быстро перейти к этому комментарию после открытия файла? – ARZ

ответ

0

Объектная модель Microsoft Word имеет коллекцию Comments. Третий комментарий в любой сборнике комментариев, вероятно, Comments(3). (Коллекции VBA основаны на 1).

+0

Как перейти к этому комментарию автоматически после открытия файла? – ARZ

+0

См. Раздел 17.5.1 [здесь] (http://msdn.microsoft.com/en-us/library/office/dd492012 (v = office.12) .aspx). –

0

В VBA это будет что-то вроде этого:

If ActiveDocument.Comments.Count > 2 Then 
    ActiveDocument.Comments(3).Scope.Select 
    Application.Selection.StartOf (Word.WdUnits.wdColumn) 
End If 

В плагине C# проекта очень похожи:

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    this.Application.DocumentChange += new Word.ApplicationEvents4_DocumentChangeEventHandler(Application_DocumentChange); 

}   

void Application_DocumentChange() 
{ 
    if (this.Application.ActiveDocument.Comments.Count > 2 /* && code to check if its first document opening or changing documents */) 
    { 
     object unit = Word.WdUnits.wdColumn; 
     object missing = Type.Missing; 

     this.Application.ActiveDocument.Comments[3].Scope.Select(); 
     this.Application.Selection.StartOf(ref unit, ref missing); 
    } 
} 

Comment.Scope является объектом Word.Range, который указывает на расположение комментария текст. Код сначала выбирает текст комментария, а затем перемещает курсор в начало.

Смежные вопросы