Массовая замена слов в документе из списка - VBA

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

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

Доброго времени суток! В документе есть определенные слова, которые нужно заменять на другие. Этих слов очень много, ведется база того, какие слова должны меняться на другие слова. Сейчас таких слов (словосочетаний) около 300, и эта база пополняется. Нужно, чтобы по нажатию на кнопку, осуществлялась массовая замена этих слов. Для этой цели, сейчас используется такого рода код:
Кот работает, но как-то можно его оптимизировать? Очень он уж объемный получается, а в процедуре есть ограничения по объему.

Решение задачи: «Массовая замена слов в документе из списка»

textual
Листинг программы
Sub Dy()
Const REPL_WHAT = "должен выделять|должна выделять|должно выделять|должны выделять" 'и т.д.
Const REPL_WITH = "выделяет|выделяет|выделяет|выделяют" 'и т.д.
Dim q$(), w$(), i&
  q = Split(REPL_WHAT, "|")
  w = Split(REPL_WITH, "|")
  For i = 0 To UBound(q)
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = q(i)
        .Replacement.Text = w(i)
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
  Next
End Sub

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


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

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

15   голосов , оценка 4.267 из 5
Похожие ответы