Word 2010使用VBA进行目录操作

时间:2016-11-09 18:03:25

标签: excel-vba ms-word tableofcontents vba excel

我正在尝试根据特定条件更改目录中所选行的字体颜色。

我有一个数组移动,其中每个元素都是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(TOC中的第一个条目)外,这种方法非常有效 条目

selection.expand wdline 

选择整个TOC ...... 有没有更好的方法来修改TOC,有没有人有任何使用TOC对象的例子

1 个答案:

答案 0 :(得分:0)

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

是我找到的解决方案

在我的情况下,TOC中的每一行所以我的代码如下所示:

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时,他们一眼就知道应该查看特定文档部分。