Мне нужно автоматизировать вставку комментариев в документ Word: поиск предопределенного набора слов (иногда строк слов и всех нечувствительных к регистру), каждый из которых Я добавляю предопределенный комментарий.Word VBA: поиск набора слов и вставка предопределенных комментариев
Есть два набора слов, с двумя целями:
- Wordset 1: идентичный комментарий для каждого расположенного слова
- Wordset 2: индивидуальные комментарии (я предлагаю новый текст, основанный на слове идентифицированного)
Я полуавтоматизировал это с помощью кода, который идентифицирует все идентифицированные слова и выделяет их, помогая мне в этом процессе (но мне все равно нужно вводить все комментарии вручную - и я также мог вводить комментарии - но только по одному слову за раз.) A s мои навыки VBA ограничены, мои попытки скомпилировать надежный макрос из бит другого кода с аналогичными целями, к сожалению, привели меня в никуда.
Ниже приведены биты кода, который я использовал.
Sub HighlightWordList()
Dim range As range
Dim i As Long
Dim TargetList
TargetList = Array("word1", "word2", "word3")
For i = 0 To UBound(TargetList)
Set range = ActiveDocument.range
With range.Find
.Text = TargetList(i)
.Format = True
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdYellow
Loop
End With
Next
End Sub
Следующий код был в состоянии заставить меня вставить пузыри прямо
Sub CommentBubble()
'
'
Dim range As range
Set range = ActiveDocument.Content
Do While range.Find.Execute("Word x") = True
ActiveDocument.Comments.Add range, "my comment to enter in the bubble"
Loop
End Sub
Я пытался иметь процесс повторяется, делая, как показано ниже, но по причинам, я уверен, очевидны для многих из вас (и совершенно неизвестных мне) - эта стратегия провалилась, работая на «слово х», но не в состоянии функционировать в течение всех последующих слов:
Sub CommentBubble()
'
'
Dim range As range
Set range = ActiveDocument.Content
Do While range.Find.Execute("Word x") = True
ActiveDocument.Comments.Add range, "my 1st comment to enter in the bubble"
Loop
Do While range.Find.Execute("Word y") = True
ActiveDocument.Comments.Add range, "my 2nd comment to enter in the bubble"
Loop
End Sub
Я скомбинированы биты эти коды бесполезны. Любые идеи, которые помогут мне с одним словом?
Спасибо за помощь всем!
С уважением
Спасибо Джим! Работает как шарм! – Benoit