Замена текста в Word макросом из Excel - VBA

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

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

Есть файл Экселя с данными, есть текстовый шаблон Ворда с метками для этих данных Сделал макрос для псевдослияния (штатное слияние данных не понравилось как работает)
Листинг программы
  1. Set WA = CreateObject("Word.Application")
  2. Set WD = WA.Documents.Add(Путь & Шаблон)
  3. With WD.Range.Find
  4. .Text = FindText
  5. .Replacement.Text = ReplaceText
  6. .Forward = True
  7. .Wrap = 1
  8. .Format = False:
  9. .MatchCase = False
  10. .MatchWholeWord = False
  11. .MatchWildcards = False
  12. .MatchSoundsLike = False
  13. .MatchAllWordForms = False
  14. .Execute Replace:=2
  15. End With
Все работает отлично до тех пор пока в ReplaceText не оказывается длинный текст (более 255 символов), что приводит к ошибке. Поиск в инете привел к двум вариантам: 1) разбитие ReplaceText на части (но это какое-то корявое решение) 2) использование Selection.TypeText Но правильно включить в мой макрос Selection.TypeText у меня так и не получилось Подскажите пжл как грамотно поправить макрос?

Решение задачи: «Замена текста в Word макросом из Excel»

textual
Листинг программы
  1. WA.Selection.HomeKey 6 'wdStory
  2. With WA.Selection.Find
  3.     .Text = FindText
  4.     .Forward = True
  5.     .Wrap = 1   'wdFindContinue
  6.    .Format = False
  7.     .MatchCase = False
  8.     .MatchWholeWord = False
  9.     .MatchWildcards = False
  10.     .MatchSoundsLike = False
  11.     .MatchAllWordForms = False
  12.     Do While .Execute
  13.         WA.Selection.TypeText ReplaceText
  14.         WA.Selection.Collapse Direction:=0 'wdCollapseEnd
  15.    Loop
  16. End With

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


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

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

15   голосов , оценка 3.933 из 5

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

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

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