wdReplaceAll空替换文本不起作用

时间:2013-12-13 22:14:11

标签: vba ms-word word-vba

我接管了一个word文档的宏,它具有以下功能:

Private Sub ConvertTildeToBullets()
    With Selection.Find
        .Text = "~ "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Replacement.style = ActiveDocument.Styles("ieMR table bullet 1")
        .Replacement.Text = " "
        .Execute Replace:=wdReplaceAll
    End With
End Sub

因此它将以波浪号(〜)开头的句子转换为子弹样式。输出原始单词文档的程序在波浪号后面放置一个空格,在函数的底部用空格替换波浪号和空格。然而,我的boses不想要那个空间,一旦它被改为.Replacement.Text = ""它就不会取代任何波浪。

如何使用空替换文本运行wdReplaceAll?

1 个答案:

答案 0 :(得分:1)

尝试更改代码的三行:

....
.Text = "(~ )(*)"
....
.MatchWildcards = True
....
.Replacement.Text = "\2"
....

适用于快速测试和试试我刚才做的。希望它也适合你。