首页 > 解决方案 > VBA 自动更正以使用下标保留文本格式

问题描述

我正在创建一个 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

标签: vbams-word

解决方案


尝试:

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

推荐阅读