VBA自动更正以保留带下标的文本格式

时间:2019-03-29 20:16:40

标签: vba ms-word

我正在创建VBA宏,以根据文本选择创建新的自动更正条目。文本是数学文本,因此经常带有下标或上标是斜体等。例如,假设目标是“ M1”,其中“ 1”带有下标,则自动更正条目将为“ m1”。

如果您手动执行此操作,则选择所需格式的目标文本,然后在“自动更正”对话框中选中“替换键入的文本,替换为:格式化文本。

但是,我找不到与此函数对应的AutoCorrect选项属性,因此结果始终是纯文本。

我尝试记录一个宏(实际上是有效的),然后检查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 :(得分:0)

尝试:

AutoCorrect.Entries.AddRichText Name:=strEntry, Range:=Selection.Range