Обновите параметр [Стиль], чтобы он соответствовал параметру «Выбор» в стиле символов с помощью макроса - PullRequest
0 голосов
/ 14 января 2020

У меня проблема с каким-то стилем символа, который не отражает изменение стиля при применении (это происходит не всегда): Пример: у меня есть стиль символа для курсива, и когда я применяю стиль символа, слово по-прежнему выглядит как нормальное (но стиль символа применяется, и, проверяя свойства, стиль проверяется курсивом в порядке).
Чтобы исправить это, я выбираю слово с проблемой, щелкните правой кнопкой мыши на стиль и использовать опцию «Обновить [StyleName], чтобы соответствовать выбору», и он правильно отображает курсив. макрос, который пишет Word, имеет следующую ошибку: Ошибка выполнения «5900»: свойство не разрешено для стилей символов. Это строка с ошибкой:

ActiveDocument.Styles("StyleItalic").AutomaticallyUpdate = False

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

Стиль символа также создан с помощью макроса, и я не вижу ничего плохого в стиле:

Private Sub Creo(style As String, fontName As String, fontSize As Integer, hasItalic As Boolean)
        On Error Resume Next
        Selection.ClearFormatting
        ActiveDocument.Find.style = ActiveDocument.Styles(style)
        ActiveDocument.Find.Execute
        If ActiveDocument.Find.Found = False Then
            ActiveDocument.Styles.Add name:=style, Type:=wdStyleTypeCharacter
            ActiveDocument.Styles(style).QuickStyle = True
            ActiveDocument.Styles(style).font.Size = fontSize
            ActiveDocument.Styles(style).font.name = fontName
            ActiveDocument.Styles(style).font.Italic = hasItalic
        End If
End Sub

Есть ли способ исправить это? Надеюсь, я объясню. Я работаю с 1000+ страницами Word Document, так что это становится слишком утомительным для ручного редактирования. Кроме того, иногда стиль в другом слове работает хорошо, но другой нет. (Все слова имеют стиль абзаца и стиль символов)

Спасибо!

1 Ответ

0 голосов
/ 14 января 2020

Ваш вопрос описывает две несвязанные проблемы.

  1. Применение стиля символа с тем же свойством, что и у базового стиля абзаца, приведет к отключению этого свойства в тексте. Обновление стиля символа в соответствии с выделением будет иметь эффект, противоположный тому, который вы хотите.

    Для демонстрации: в новом документе введите абзац текста и примените стиль, определенный как itali c, например: Цитата или интенсивная цитата. Выделите весь абзац и нажмите Ctrl + I, чтобы отключить курсив. Теперь выделите только часть текста и примените стиль символа с именем «Акцент». Вы увидите, что это никак не влияет на текст. Это связано с тем, что стиль абзаца и стиль символа имеют курсив c, который отменяет друг друга и имеет тот же эффект, что и отключение курсива вручную.

    Теперь щелкните правой кнопкой мыши по выделению и выберите Обновить до соответствия выделенному. Выделенный текст теперь будет выделен c, но, как показывает предварительный просмотр текста в галерее «Быстрые стили», «Выделение больше не является италийским» c.

  2. Только абзацы и связанные стили имеют Автоматически обновлять свойство, поэтому вы получаете сообщение об ошибке при попытке установить его для стиля символа.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...