在 VBA 中编辑特定 ParagraphStyle 的 ParagraphFormat

Edit ParagraphFormat of a specific ParagraphStyle in VBA

我想以编程方式为具有指定 ParagraphStyle(例如 "Normal" 样式)的文本更改 ParagraphFormat 下的一些选项。为此,我使用以下条件:

If ActiveDocument.Paragraphs(i).Style = wdStyleNormal Then

我的宏已执行,但没有发生任何变化。如果没有此条件,则会对文档中的每个段落进行更改。

我做错了什么以及如何做对?

提前致谢。

这种wdStyleNormal的使用方式仅在您要为段落指定内置样式时有效:

ActiveDocument.Paragraphs(i).Style = wdStyleNormal

当您从 属性 读取样式时,您会得到描述样式的 Style 对象,而不是您设置的常量。如果要检查此样式是否为某种样式,则需要检查它的NameLocal。问题是,名称在不同的语言中是不同的,所以你可以这样做:

If ActiveDocument.Paragraphs(i).Style.NameLocal = ActiveDocument.Styles(wdStyleNormal).NameLocal Then