用vba分开分页符和段落标记?

时间:2019-07-18 00:09:00

标签: vba ms-word

我正在尝试搜索并替换找到所有“小”分页符(在Word / VBA中为“ ^ m”)并将其替换为“完整”分页符的文档。这些小分页符后面都有一个段落标记。删除后,它们将变成一个完整的分页符。

如何搜索和替换“ ^ m”的所有实例,并在找到的所有选择的右边立即删除一个字符?

在旧版本的Word中,您可以在“分隔分页符和段落标记”框内打勾,但不再打勾。我正在使用的文档是通过不知道如何读取小分页符的软件提供的,因此,一旦找到任何段落标记,就需要立即将其删除。

我注意到,可以通过用'^ m'替换'^ m'来实现,这会在分页符之后删除段落标记并插入空格,但是我似乎无法弄清楚以便在此后立即删除空间(并保持全尺寸的分页符)。

Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "^m"
    .Replacement.Text = "^m "
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveRight
Selection.TypeBackspace
Selection.TypeBackspace
SendKeys ("{BACKSPACE}")

此代码确实以某种方式找到“小”分页符,将其替换为“完整”分页符,然后删除空格。但是,当文档中有多个分页符时,它将引入各种问题,包括随机字符删除(考虑到代码不足为奇)。

任何帮助将不胜感激!到目前为止,我已经设法使用VBA进行了许多令人惊奇的事情,但是由于我不完全了解如何使用选择/替换代码,所以这项工作(很基础)很困难。

0 个答案:

没有答案