2016-11-09 3 views
0

Я пытаюсь изменить цвет шрифта выделенных строк в оглавлении на основе определенных критериев.Word 2010 Содержание манипуляции с использованием VBA

У меня есть массив i, через который каждый элемент является номером строки в TOC.

for I = 1 to TOC_INDEX 
    Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=TOC_MORT(J) + 1 
    selection.expand wdline 
    Selection.Font.ColorIndex = wdRed 
next 

Это отлично работает, за исключением, когда J = 1, (первая запись в оглавлении) запись

selection.expand wdline 

выбирает весь ТОС ... Есть ли лучший способ модификации TOC, кто-нибудь есть какие-либо примеры использования ТОС Object

ответ

0
sourceDocument.TablesOfContents().Range.Fields().select 

это решение, которое я нашел

В моем случае каждая строка в оглавлении мой код выглядит следующим образом:

For I = 1 To TOC_INDEX 
    Debug.Print TOC_INDEX, I, TOC(I) 
    If I = 1 Then 
     sourceDocument.TablesOfContents(1).Range.Fields(TOC(I) + 1).Select 
    Else 
     sourceDocument.TablesOfContents(1).Range.Fields(TOC(I * 2) + 4).Select 
    End If 
    Selection.Font.ColorIndex = wdRed 
Next 

Моя задача состояла в том, чтобы выделить записи в TOC, которые удовлетворяют определенным условиям. (В моем случае это была последняя дата изменения конкретного документа). Эти данные были введены в массив до вызова этого кода. Весь документ состоял из списка других документов и их оглавления и гиперссылок к этим главам.

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

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