我正在尝试用引号括住页面上的所有选定文本,但是当我运行代码时,它只会影响页面上的最后一个选择。我的代码也解开了所有选定的文本,这部分工作正常。我的代码如下:
With Selection.Range
Selection.Range.Bold = wdToggle
.Text = Chr(34) & .Text & Chr(34)
End With
答案 0 :(得分:1)
尝试:
Sub Demo()
Application.ScreenUpdating = False
Selection.Font.Shading.BackgroundPatternColor = wdColorAqua
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ""
.Replacement.Text = ""
.Font.Shading.BackgroundPatternColor = wdColorAqua
.Format = True
.Forward = True
.Wrap = wdFindStop
.Execute
End With
Do While .Find.Found
.Font.Shading.BackgroundPatternColor = wdColorAutomatic
If .Characters.Last = vbCr Then .End = .End - 1
.InsertBefore Chr(147) 'Chr(34)
.InsertAfter Chr(148) 'Chr(34)
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
Application.ScreenUpdating = True
End Sub
注意:我使用了智能引号,但如果您愿意,可以使用直引号。
答案 1 :(得分:0)
你可以这样做:https://stackoverflow.com/a/46106637/3451115
只有在整个文档中不使用高亮显示时才有效。这个想法来自这里:https://stackoverflow.com/a/36413118/3451115
简而言之,您使用高亮作为搜索和后处理的临时标记(因为想要更好的表达)。查找突出显示允许您循环选择所选内容。