如何在不改变段落的整个样式的情况下设置单词的样式?

时间:2016-08-18 19:39:38

标签: vba ms-word word-vba word-style

我正在尝试创建一个宏,它会逐个更改文档中所有单词的样式,具体取决于它们当前的样式,如实际样式名称和字体大小和名称。

我的问题是,当我改变第一个单词的样式时,它会改变整个段落的样式,这是非常不合适的。

'Loop trough all words
For Each w In p.Range.Words
...

...

'Switch based on the style of the word
Select Case r
    Case "b"
        w.Style = ActiveDocument.Styles("NewStyleB")
      ...

属性.CharacterStyle是readonly,但是当我使用下面的代码时,只有单词获得应用的样式,因为它应该,但它不会将样式保留在其样式属性或其字符样式属性中,这是相当的很重要,所以我不知道该怎么做。

'Loop trough all words
For Each w In p.Range.Words
...

...

'Switch based on the style of the word
Select Case r
    Case "b"
        w.CharacterStyle = ActiveDocument.Styles("NewStyleB")
      ...

1 个答案:

答案 0 :(得分:0)

Word很少style types。检查您的样式是否为段落样式,如果是,则可以将其复制到新样式并将其更改为字符样式。