Замена текста в Word макросом из Excel - VBA
Формулировка задачи:
Есть файл Экселя с данными, есть текстовый шаблон Ворда с метками для этих данных
Сделал макрос для псевдослияния (штатное слияние данных не понравилось как работает)
Все работает отлично до тех пор пока в ReplaceText не оказывается длинный текст (более 255 символов), что приводит к ошибке.
Поиск в инете привел к двум вариантам: 1) разбитие ReplaceText на части (но это какое-то корявое решение) 2) использование Selection.TypeText
Но правильно включить в мой макрос Selection.TypeText у меня так и не получилось
Подскажите пжл как грамотно поправить макрос?
Листинг программы
- Set WA = CreateObject("Word.Application")
- Set WD = WA.Documents.Add(Путь & Шаблон)
- With WD.Range.Find
- .Text = FindText
- .Replacement.Text = ReplaceText
- .Forward = True
- .Wrap = 1
- .Format = False:
- .MatchCase = False
- .MatchWholeWord = False
- .MatchWildcards = False
- .MatchSoundsLike = False
- .MatchAllWordForms = False
- .Execute Replace:=2
- End With
Решение задачи: «Замена текста в Word макросом из Excel»
textual
Листинг программы
- WA.Selection.HomeKey 6 'wdStory
- With WA.Selection.Find
- .Text = FindText
- .Forward = True
- .Wrap = 1 'wdFindContinue
- .Format = False
- .MatchCase = False
- .MatchWholeWord = False
- .MatchWildcards = False
- .MatchSoundsLike = False
- .MatchAllWordForms = False
- Do While .Execute
- WA.Selection.TypeText ReplaceText
- WA.Selection.Collapse Direction:=0 'wdCollapseEnd
- Loop
- End With
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д