使用VBA查找Office 2010 Word文档的大纲级别

时间:2010-11-18 17:19:40

标签: vba ms-word ms-office

我正在创建一个VBA宏来验证提交的文档,但我似乎无法找到一种方法来检查整个文档的大纲级别。我需要的是一种告诉在概述功能区,1-9或所有级别中选择的大纲级别的方法。

3 个答案:

答案 0 :(得分:3)

您所使用的设置是未存储在文件中的应用程序设置。

您可以使用以下VBA代码设置特定级别:

ActiveWindow.ActivePane.View.Type = wdOutlineView
ActiveWindow.View.ShowHeading 6

答案 1 :(得分:0)

Word文档的.OutlineLevel属性可以应用于Paragraph,ParagraphFormat或Paragraphs Collection对象。它是一个枚举,可以取值wdOutlineLevel1 - 9或wdOutlineLevelBodyText。

要查找文档中第一段的OutlineLevel,请使用:

Dim currOutlineLevel

With ActiveDocument
  currOutlineLevel = .Paragraphs(1).OutlineLevel
End With

答案 2 :(得分:0)

请注意,如果使用“大纲”视图中的活动文档调用,则会调用Paragraphs(x).OutlineLevel错误,这会使迭代Word大纲导出而非导入。您必须切换视图(也似乎不能直接编写脚本)然后切换回来。希望能节省浪费时间的其他人......