%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%20Word%20%D0%B8%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D0%B8%D0%B9%20%D0%BA%20%D1%8D%D1%82%D0%BE%D0%BC%D1%83%20%D1%81%D0%BB%D0%BE%D0%B2%D1%83%20%D1%81%20%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D1%8B%D0%BC%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D1%86%D0%B0%20B%3F.png)
Для начала я хотел бы сказать, что у меня есть базовые знания VBA.
В настоящее время я пытаюсь создать макрос в Word, который я хотел бы связать с открытым файлом Excel и выполнить поиск слова из столбца A в открытом файле Word. Затем я хотел бы, чтобы макрос поместил комментарий к этому слову в Word и вставил содержимое столбца B файла Excel.
Я пытался объединить разные строки кода из разных источников, но, похоже, у меня не получилось заставить это работать.
Есть ли здесь кто-нибудь, кто знает, как это сделать?
Спасибо заранее!
У меня есть следующий код для добавления комментария (но он не связан с файлом Excel):
Selection.Find.ClearFormatting
Dim range As range
Set range = ActiveDocument.Content
Do While range.Find.Execute("XXXXXX") = True
ActiveDocument.Comments.Add range, "YYYYYY"
Loop
и следующий фрагмент кода, который находит содержимое столбца A и в данный момент заменяет его содержимым столбца B.
Dim ws As Activesheet, msWord As Object, itm As range
Set ws = Activesheet
Set msWord = ActiveDocument.Content
With msWord ' cant figure out how to change this so it uses the currently open Word file.
.Visible = True
.Documents.Open "F:\Test folder\TestFolder\Test.docx"
.Activate
With .ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
For Each itm In ws.UsedRange.Columns("A").Cells
.Text = itm.Value2 'Find all strings in col A
.Replacement.Text = itm.Offset(, 1).Value2 'Replacements from col B
.MatchCase = False
.MatchWholeWord = False
.Execute Replace:=2 'I guess this should be replaced with the code that places the text YYYYYY as a comment on the text XXXXXX?
Next
End With
.Quit SaveChanges:=True
End With