Как установить стиль для слова без изменения всего стиля абзаца?

Я пытаюсь создать макрос, который меняет стиль всех слов в документе одно за другим, в зависимости от их текущего стиля, например, фактического имени стиля, размера и имени шрифта.

Моя проблема в том, что, когда я изменяю стиль самого первого слова, он затем меняет стиль всего абзаца, который очень не предназначен.

'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 доступно только для чтения, однако, когда я использую приведенный ниже код, стиль применяется только к слову, как и следует, однако он не сохраняет стиль в свойстве style или свойстве 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.CharacterStyle = ActiveDocument.Styles("NewStyleB")
      ...

1 ответ

Слово имеет несколько стилей. Проверьте, является ли ваш стиль стилем абзаца, и если это так, вы можете скопировать его в новый стиль и изменить его на стиль символа.

Другие вопросы по тегам