【问题标题】:Word 2010 Table of contents manipulation using VBAWord 2010 使用 VBA 操作目录
【发布时间】:2017-03-23 15:16:42
【问题描述】:

我正在尝试根据某些标准更改目录中选定行的字体颜色。

我有一个数组,其中每个元素都是目录中的行号。

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 的方法,有没有人有任何使用 TOC 对象的例子

【问题讨论】:

    标签: excel ms-word tableofcontents vba


    【解决方案1】:
    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 时,他们一眼就知道应该查看特定的文档部分。

    【讨论】:

      猜你喜欢
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多