Замена тэгов в шаблоне Word на данные из Excel (поиск всех однотипных тэгов) - VBA

Узнай цену своей работы

Формулировка задачи:

Прошу помощи по следующей проблеме: есть шаблон договора Word, в данном шаблоне расставлены тэги типа <название фирмы>, <ФИО директора>, <расчетный счет руб.> и проч. Один тэг может встретиться в разных частях документа несколько раз. Есть шаблон Excel, в котором в "столбце А" данные тэги сопоставлены со значениями "столбец B". После запуска макроса и замены тэгов на значения (поиск в документе Word тэгов из "столбца A" и замена их на значения "стоблец B") получается готовый документ. Текст макроса Excel:
Листинг программы
  1. Sub Replace()
  2. Dim pathh As String
  3. Dim pathhi As String
  4. Dim oCell As Integer
  5. Dim from_text As String, to_text As String
  6. Dim WA As Object
  7. pathh = "D:\test_au_replace\01_test_3.docx"
  8. Set WA = CreateObject("Word.Application")
  9. WA.Documents.Open (pathh)
  10. WA.Visible = True
  11. For oCell = 1 To 10
  12. from_text = Sheets("PTAct").Range("A" & oCell).Value
  13. to_text = Sheets("PTAct").Range("B" & oCell).Value
  14. With WA.ActiveDocument
  15. Set myRange = .Content
  16. With myRange.Find
  17. .Execute FindText:=from_text, ReplaceWith:=to_text, Replace:=1
  18. End With
  19. End With
  20. Next oCell
  21. End Sub
Проблема в том, что данный макрос ищет только первое вхождение тэга в шаблоне и заменяет его на значение, остальные тэги данного типа игнорируются. Что нужно изменить (какой цикл задать) чтобы макрос искал все вхождения тэгов данного типа в шаблоне документа и заменял их на соответствующие значения?

Решение задачи: «Замена тэгов в шаблоне Word на данные из Excel (поиск всех однотипных тэгов)»

textual
Листинг программы
  1. ActiveDocument.Content.Find.Execute "2", ReplaceWith:="5", Replace:=2

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы