首先,我不太精通编程。我有一些宏可以帮助我进行工作,但是我需要清晰的示例来完成这些工作。
我想在Word文档中找到具有多个下划线的所有实例,并将其替换为设置数量的下划线。连续可以有30到5个下划线,我希望能够找到这些下划线并将其精确地替换为10个下划线。下划线通常位于其自己的段落中,但有时与文本一起出现。
我已经在site和在线环境中进行了浏览,但是看不到下划线的数量未知。
如果有人可以指出正确的方向,我将不胜感激。谢谢。
答案 0 :(得分:0)
您可以
1)将所有“双”下划线替换为“单”下划线,直到仅持续“单”下划线
2)将所有“单个”下划线替换为“ _____”
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
Do
.Text = "__"
.Replacement.Text = "_"
.Wrap = wdFindContinue
.Format = False
.MatchWholeWord = False
.Execute Replace:=wdReplaceAll
Loop While .Found
.Text = "_"
.Replacement.Text = "_____"
.Wrap = wdFindContinue
.Format = False
.MatchWholeWord = False
.Execute Replace:=wdReplaceAll
End With
将Selection
更改为要处理的文档的实际部分(对于所有文档的实例ActiveDocument.Content
答案 1 :(得分:0)
您需要做的就是使用通配符!
这一行代码可以做到:
ActiveDocument.Content.Find.Execute "_{5,30}", _
MatchWildcards:=True, Replace:=wdReplaceAll, _
ReplaceWith:="__________", Wrap:=wdFindContinue
注意:
{5,30}
部分的下划线将少于5个或多于30个。
您可以将其更改为{,30}
,以替换30个或更少的下划线
或{1,}
替换1个或多个下划线
关于通配符的易于理解的文章可以在here中找到。