переместить скобки для комментариев в локальном диапазоне в Microsoft Word, используя VBA - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь переместить весь текст в скобках в комментарий в выбранном диапазоне.Я почти там, но по какой-то причине это работает только в начале диапазона.Мой макрос выглядит следующим образом:

Sub CommentOutParenthsLocal()
'
' CommentBubble Macro
'
'
Dim myRange As Range
Set myRange = Selection.Range
searchText = "\(*\)"

With myRange.Find
    .MatchWildcards = True
    Do While .Execute(findText:=searchText, Forward:=True) = True
      ActiveDocument.Comments.Add myRange, myRange.Text
      myRange.Text = ""
    Loop
 End With
End Sub

Любой совет?

1 Ответ

2 голосов
/ 11 марта 2019

Основываясь на вашем описании, вы должны, помимо прочего, ограничить область действия кода тем, что вы на самом деле выбрали. В этом случае попробуйте:

Sub CommentOutParenthsLocal()
Application.ScreenUpdating = True
Dim myRange As Range
Set myRange = Selection.Range
With Selection.Range
  With .Find
    .Text = "\(*\)"
    .Forward = True
    .MatchWildcards = True
    .Execute
  End With
  Do While .Find.Found = True
    If .InRange(myRange) = False Then Exit Do
    .Comments.Add .Duplicate, .Text
    .Text = vbNullString
    .Find.Execute
  Loop
End With
Application.ScreenUpdating = False
End Sub
...