在MS-Word 2010中创建VBA脚本以使用逗号(,)替换多个换行符

时间:2014-05-06 13:13:44

标签: vba ms-word word-vba

1.我正在尝试创建一个VBA脚本来检查文档的质量 2.如果一个单词后面有任何空格或换行符,则所有内容都应替换为逗号()。:我不希望在逗号之前出现任何空格(
示例:

Before running VBA script
ABC [空格]
[换行符]

After running VBA script
abc

Desired Result which I am expecting
ABC

我已经尝试了下面的代码,但我没有得到任何进一步工作的线索,下面的VBA脚本只检测到一个换行符。
我想创建一个VBA脚本来检测多个换行符并给我想要的结果。

    Sub Replace1()
    '
    ' Replace1 Macro
    '
    '
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "^p,"
    .Replacement.Text = ","
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

1 个答案:

答案 0 :(得分:1)

更改您发现的文字如下:

.Text = "[ ^13]{1,},"

并将外卡设为true:

.MatchWildcards = True

还要确保光标从文档的开头开始。你可以在你的VBA中查找开始之前添加它:

Selection.HomeKey Unit:=wdStory

<强>说明: [ ^13]匹配空格或段落标记(字符^13)。 {1,}寻找一个或多个重复,与@不同,它是贪婪的。