Word VBA 在斜体文本前后插入空格的宏

Word VBA Macro that inserts spaces before and after italicized text surrounded by regular text

我尝试创建一个宏,如果它被普通字符包围,它会在斜体文本前后插入一个空 space,如下所示:

到目前为止,我能想到的最好办法只是替换斜体文本。

With Selection.Find
 .ClearFormatting
 .Text = ""
 .Replacement.ClearFormatting
 .Replacement.Text = " "
 .Font.Italic = True
 .MatchWholeWord = False
 While .Execute
  .Execute Replace:=wdReplaceAll, Forward:=True, _
 Wrap:=wdFindContinue
Wend
End With
End Sub

我应该如何解决这个问题? 提前谢谢你

您不需要宏来执行此操作。查找和替换将为您完成。

Ctrl+H 显示高级查找对话框。

将光标放在“查找内容”框中,单击“格式”,然后选择“字体”和“斜体”。

将光标移动到“替换为”框,单击“特殊”,然后从选项菜单中select“查找文本”。根据需要添加空间。您的对话框现在应该如下所示:

单击“全部替换”即可完成。

如果你真的必须使用代码:

Sub AddSpaceToItalicText()
    With ActiveDocument.Content.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Font.Italic = True
        .Text = ""
        .Replacement.Text = " ^& "
        .Forward = True
        .Wrap = wdStop
        .Format = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub