Автозамена VBA для сохранения форматирования текста с подписками - PullRequest
1 голос
/ 29 марта 2019

Я создаю макрос VBA для создания новой записи автозамены из выделения текста. Текст - это математический текст, поэтому часто имеет нижние индексы или верхний индекс - курсив и т. Д. Например, предположим, что целью является «M1», где «1» подписано, тогда запись автозамены будет «m1».

Если вы делаете это вручную, вы выбираете целевой текст, отформатированный по желанию, и в диалоговом окне «Автозамена» установите флажок «Заменить текст по мере ввода, Заменено: на: Отформатированный текст.

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

Я попытался записать макрос (который на самом деле работал), а затем проверил все параметры, которые были зафиксированы в Word, но на самом деле ни один из них не помог сохранить форматирование.

Вот код:

Sub NewAutoCorrect()

    Dim strEntry As String

    strEntry = InputBox("Enter the AutoCorrect entry")

    AutoCorrect.Entries.Add Name:=strEntry, Value:=Selection

    With AutoCorrect
        .CorrectInitialCaps = True
        .CorrectSentenceCaps = True
        .CorrectDays = True
        .CorrectCapsLock = True
        .ReplaceText = True
        .ReplaceTextFromSpellingChecker = True
        .CorrectKeyboardSetting = False
        .DisplayAutoCorrectOptions = True
        .CorrectTableCells = True
    End With
End Sub

1 Ответ

0 голосов
/ 30 марта 2019

Попробуйте:

AutoCorrect.Entries.AddRichText Name:=strEntry, Range:=Selection.Range
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...