如何修改VBA代码使Word 2019中光标后续输入不保持斜体?
Word VBA:设置左侧单词为斜体且后续输入不保留斜体
修改后的完整代码
Sub ItalicizeWordToLeft() On Error Resume Next ' 临时忽略错误 Dim autoFormatStatus As Boolean Dim currentCursorPosition As Integer ' 保存当前自动格式设置 autoFormatStatus = Application.Options.AutoFormatAsYouTypeReplaceHyperlinks ' 临时禁用自动格式修改 Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False ' 保存当前光标位置 currentCursorPosition = Selection.Start ' 将光标左侧单词设为斜体 Selection.MoveLeft Unit:=wdWord, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Font.Italic = True ' 将光标移至斜体单词末尾 Selection.EndOf Unit:=wdWord, Extend:=wdMove ' 取消当前光标位置的斜体格式,避免后续输入继承 Selection.Font.Italic = False ' 恢复原自动格式设置 Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = autoFormatStatus On Error GoTo 0 ' 恢复默认错误处理 End Sub
关键修改说明
原代码的问题在于:光标停在斜体单词末尾时,Word的格式跟随特性会让后续输入自动继承斜体属性。只需在光标定位到单词末尾后,添加Selection.Font.Italic = False,直接重置当前光标位置的格式为非斜体,就能解决后续输入保留斜体的问题。
其他逻辑保持不变,确保自动格式设置的保存与恢复、错误处理机制正常运行。
内容的提问来源于stack exchange,提问作者DCR
相关产品推荐
相关产品推荐

