Замена тэгов в шаблоне Word на данные из Excel (поиск всех однотипных тэгов) - VBA
Формулировка задачи:
Прошу помощи по следующей проблеме: есть шаблон договора Word, в данном шаблоне расставлены тэги типа <название фирмы>, <ФИО директора>, <расчетный счет руб.> и проч. Один тэг может встретиться в разных частях документа несколько раз.
Есть шаблон Excel, в котором в "столбце А" данные тэги сопоставлены со значениями "столбец B". После запуска макроса и замены тэгов на значения (поиск в документе Word тэгов из "столбца A" и замена их на значения "стоблец B") получается готовый документ.
Текст макроса Excel:
Проблема в том, что данный макрос ищет только первое вхождение тэга в шаблоне и заменяет его на значение, остальные тэги данного типа игнорируются. Что нужно изменить (какой цикл задать) чтобы макрос искал все вхождения тэгов данного типа в шаблоне документа и заменял их на соответствующие значения?
Листинг программы
- Sub Replace()
- Dim pathh As String
- Dim pathhi As String
- Dim oCell As Integer
- Dim from_text As String, to_text As String
- Dim WA As Object
- pathh = "D:\test_au_replace\01_test_3.docx"
- Set WA = CreateObject("Word.Application")
- WA.Documents.Open (pathh)
- WA.Visible = True
- For oCell = 1 To 10
- from_text = Sheets("PTAct").Range("A" & oCell).Value
- to_text = Sheets("PTAct").Range("B" & oCell).Value
- With WA.ActiveDocument
- Set myRange = .Content
- With myRange.Find
- .Execute FindText:=from_text, ReplaceWith:=to_text, Replace:=1
- End With
- End With
- Next oCell
- End Sub
Решение задачи: «Замена тэгов в шаблоне Word на данные из Excel (поиск всех однотипных тэгов)»
textual
Листинг программы
- ActiveDocument.Content.Find.Execute "2", ReplaceWith:="5", Replace:=2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д