Word VBA 在斜体文本前后插入空格的宏
Word VBA Macro that inserts spaces before and after italicized text surrounded by regular text
我尝试创建一个宏,如果它被普通字符包围,它会在斜体文本前后插入一个空 space,如下所示:
- 它应该看起来像什么:word1 word2 word3
- 实际看起来像:word1word2word3
到目前为止,我能想到的最好办法只是替换斜体文本。
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
我尝试创建一个宏,如果它被普通字符包围,它会在斜体文本前后插入一个空 space,如下所示:
- 它应该看起来像什么:word1 word2 word3
- 实际看起来像:word1word2word3
到目前为止,我能想到的最好办法只是替换斜体文本。
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