Изменение символа только в выбранном фрагменте Word (Макрос) - VBA

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

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

Напишите, пожалуйста, макрос, который изменял бы выбранные символы внутри определенного диапазона поиска. Пример: Первый какой-то текст с проблеами и знаками

НАЧАЛО 43 68 5321 7 63 1 9 КОНЕЦ

второй какой-то текст с проблеами и знаками

НАЧАЛО 3 760 28 КОНЕЦ

третий какой-то текст с проблеами и знаками

НАЧАЛО 232879 786 93 КОНЕЦ

четвертый какой-то текст с проблеами и знаками Нужно заменить пробелы между словами НАЧАЛО и КОНЕЦ на %20 , при этом пробелы в остальном тексте (какой-то текст с проблеами и знаками) нужно чтобы остался неизменным, чтобы в конечном итоге получилось так: Первый какой-то текст с проблеами и знаками

НАЧАЛО%2043%2068%205321%207%2063%201%209%20КОНЕЦ

второй какой-то текст с проблеами и знаками

НАЧАЛО%203%20760%2028%20КОНЕЦ

третий какой-то текст с проблеами и знаками

НАЧАЛО%20232879%20786%2093%20КОНЕЦ

четвертый какой-то текст с проблеами и знаками Заранее спасибо!

Решение задачи: «Изменение символа только в выбранном фрагменте Word (Макрос)»

textual
Листинг программы
  1. Sub Замена_в_интервалах()
  2.     Dim i&, s$, A, B, Nachalo$, Konec$
  3.     Nachalo = "НАЧАЛО"
  4.     Konec = "КОНЕЦ"
  5.     s = ActiveDocument.Range.Text
  6.     A = Split(s, Konec)
  7.     s = ""
  8.     For i = 0 To UBound(A)
  9.         B = Split(A(i), Nachalo)
  10.         If UBound(B) > 0 Then
  11.             s = s & B(0) & Nachalo & Replace(B(1), " ", "%20") & Konec
  12.         Else
  13.             s = s & A(i)
  14.             If i < UBound(A) Then s = s & Konec
  15.         End If
  16.     Next i
  17.     ActiveDocument.Range.Text = s
  18. End Sub

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


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

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

8   голосов , оценка 4.25 из 5

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

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

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