如何向此 "Double Space After Sentence" 代码添加排除项?

How can I add exclusions to this "Double Space After Sentence" code?

我希望下面的代码更直观,所以我需要为 "Dr." 或 "N.A.S.A." 等缩写添加排除项。此外,它不应为带小数点的数字添加空格。如何手动添加特定排除项或通配符排除项?

Sub TwoSpaces()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "([.\?\!]) {1,}"
    .Replacement.Text = "  "
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

我也不想将其应用于论文的某些部分,例如参考书目部分。我可以使用以下代码使宏排除我用 "do not check spelling and grammar" 标记的区域吗:

Selection.NoProofing = True

你的解决方案已经忽略了小数,因为它寻找一个 space,他们没有,对于参考书目,你可以稍后更新字段,添加的 spaces 将消失。

剩下 'Dr.' 和 'N.A.S.A.'

我认为无法排除校对已关闭的区域。相反,您是否尝试过逐步查找结果并检查每个结果?听起来你会有很多这样的排除项,我认为修改搜索字符串不是处理它们的最佳方法。

下面是一些示例 C# 代码:

range.Find.MatchWildcards = true;
range.Find.Text = ([.\?\!]) {1,}";
while (range.Find.Execute())
{
    // check each find result: range.Text
}