Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.9k views
in Technique[技术] by (71.8m points)

vba - Clear Formatting for a Range, not the Selection

The ClearFormatting method only works with the Selection object. Can I clear formats of a range without losing the selection, and ideally without caching it and calling Select. I'd like to clear formats for a Range

I've tried some combinations of Find/Replace, e.g.

Sub ClearFormat(ByVal doc As Document)
    'doc.Content.Find.ClearFormatting  'WdStoryType.wdMainTextStory
    Dim target As Range
    Set target = doc.Content
    With target.Find
        .Replacement.Font.Name = "Regular" 'hoping this will resent to my normal style
        .MatchWildcards = True
        .Execute "*", Replace:=wdReplaceAll
    End With
End Sub

And also setting the whole document style to the "Normal" style, but no joy


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

For example:

With ActiveDocument.Range
  .ParagraphFormat.Reset
  .Font.Reset
End With

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...