Word toc 显示级别调整使用 VBA
Word toc show levels adjustment using VBA
总的来说,我对 VBA 还比较陌生,但目前我正在使用 IBM 的 Rational 发布引擎发布文档,该引擎从 DOORS(动态面向对象的需求系统)中发布文档。发布后,有一系列宏可用于扩展 OLE、合并段落、centerFigures 等。我想添加一个宏来调整我的 table 内容以仅显示级别 2。我在想一些事情像下面这样会起作用,但没有取得太大的成功。
Sub Tocadjust()
Dim toc As TableOfContents
Dim tocEntry As Field
Set toc = ActiveDocument.TableOfContents(1)
For Each tocEntry In toc.Range.Fields
tocEntry.Select
toc.UpperHeadingLevel = 1
toc.LowerHeadingLevel = 2
Next
End Sub
TableWord 中的内容本身就是字段。
它们通常不包含字段。他们确实有开关。
运行 下面的代码添加了一个将 TOC 限制为级别 1 和 2 的开关。
Sub TocAdjust()
' Charles Kenyon
' Limit first TOC to levels 1 and 2
'
ActiveDocument.TablesOfContents(1).LowerHeadingLevel = 2
ActiveDocument.TablesOfContents(1).UpperHeadingLevel = 1
End Sub
如果没有 Table 的内容字段,这将引发错误。请注意 Table 的图也使用了 TOC 字段。
下面是 TOC 字段在 运行 宏之前和之后的样子。
您的代码试图作用于“条目”而不是一般的字段。
总的来说,我对 VBA 还比较陌生,但目前我正在使用 IBM 的 Rational 发布引擎发布文档,该引擎从 DOORS(动态面向对象的需求系统)中发布文档。发布后,有一系列宏可用于扩展 OLE、合并段落、centerFigures 等。我想添加一个宏来调整我的 table 内容以仅显示级别 2。我在想一些事情像下面这样会起作用,但没有取得太大的成功。
Sub Tocadjust()
Dim toc As TableOfContents
Dim tocEntry As Field
Set toc = ActiveDocument.TableOfContents(1)
For Each tocEntry In toc.Range.Fields
tocEntry.Select
toc.UpperHeadingLevel = 1
toc.LowerHeadingLevel = 2
Next
End Sub
TableWord 中的内容本身就是字段。
它们通常不包含字段。他们确实有开关。
运行 下面的代码添加了一个将 TOC 限制为级别 1 和 2 的开关。
Sub TocAdjust()
' Charles Kenyon
' Limit first TOC to levels 1 and 2
'
ActiveDocument.TablesOfContents(1).LowerHeadingLevel = 2
ActiveDocument.TablesOfContents(1).UpperHeadingLevel = 1
End Sub
如果没有 Table 的内容字段,这将引发错误。请注意 Table 的图也使用了 TOC 字段。
下面是 TOC 字段在 运行 宏之前和之后的样子。
您的代码试图作用于“条目”而不是一般的字段。