首页 > 解决方案 > 仅在当前段落中选择粗体和下划线文本(VBA 宏,word 2016)

问题描述

在此处输入图像描述我正在尝试选择段落中的任何粗体和下划线文本(在 Microsoft Word 2016 中)。我真的只想选择文本,以便我可以以各种方式进行操作(这将根据我对特定文本的需要而不断变化),例如突出显示、取消粗体、复制等。

我使用宏记录器功能创建了以下宏,当我这样做时它运行良好。但是当我随后运行宏时,它突出显示了整个段落,而不仅仅是粗体和下划线部分。

Sub SelectBoldandUnderlineCurrentParagraph()
'
' SelectBoldandUnderlineCurrentParagraph Macro
'
'
    Selection.MoveUp Unit:=wdParagraph, Count:=1
    Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
    Selection.Find.ClearFormatting
    With Selection.Find.Font
        .Bold = True
        .Underline = wdUnderlineSingle
    End With
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = False
        .MatchControl = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
End Sub

标签: vbams-word

解决方案


尝试:

Sub Demo()
With Selection.Paragraphs.First.Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Font.Bold = True
    .Font.Underline = wdUnderlineSingle
    .Text = ""
    .Replacement.Text = ""
    .Format = True
    .Forward = True
    .Wrap = wdFindStop
    .Execute
  End With
  .Select
End With
End Sub

推荐阅读