使用 VBA 格式化 Word 文档中的所有波浪号

问题描述 投票:0回答:1

我正在尝试创建一个脚本来查找文档中的所有波浪号并使用预定义的格式设置它们的格式。我已经非常接近了,我当前的代码格式化了文档中除第一个波浪号之外的所有内容。我不知道如何解决这个问题。这是我当前的代码:

Sub FormatTilde()

    Set TildeStyle = ActiveDocument.Styles("Approx")
    'Start from the beginning of the document
    Selection.HomeKey Unit:=wdStory
    
    With Selection.Find
        .Forward = True
        .ClearFormatting
        .MatchWholeWord = False
        .MatchCase = False
        .Wrap = wdFindContinue
        .Execute FindText:="~"
        Do While .Execute = True
            Selection.Style = TildeStyle
        Loop
    End With
    

End Sub

基本上,“Approx”样式就是我所使用的格式,它将字体更改为在字符中间而不是顶部有波浪线的字体,文档字体就是这样。

我不确定为什么第一个实例未格式化以及如何修复它,因此我们将不胜感激。

vba ms-word
1个回答
0
投票

尝试:

Sub FormatTilde()
Application.ScreenUpdating = False
With ActiveDocument.Range.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Forward = True
    .Format = True
    .Text = "~"
    .Replacement.Text = "^&"
    .Replacement.Style = "Approx"
    .Wrap = wdFindContinue
    .Execute Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True
End Sub
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.