Автор Тема: Word VBA Макросы: Можно ли перед всеми числами поставить определённый знак?  (Прочитано 47 раз)

Оффлайн Alceste

  • Посетитель форума
  • Сообщений: 2
Есть ли возможность перед всеми числами (именно числами, а не цифрами) в тексте поставить определённый символ?

Необходимо, к примеру, чтобы такой текст:
"Слова слова 1548 слова слова 545 слова."
Преобразовался в:
"Слова слова #1548 слова слова #545 слова."

Оффлайн Администратор

  • Administrator
  • Сообщений: 1561
То же самое можно сделать с помощью 'Найти и заменить', т.е. без макроса.
Макрос работает только с целыми числами. То есть  с дробными, в которых есть запятая или точка, не работает.
Также в числе не должно быть пробелов между разрядами.

Знак подставляется в этой строке:
.Replacement.Text = "#\1"

Sub Макрос()
    With ActiveDocument.Range.find
        .Text = "([0-9]{1;})"
        .Replacement.Text = "#\1"
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
    MsgBox "Готово.", vbInformation
End Sub

Оффлайн Alceste

  • Посетитель форума
  • Сообщений: 2
Большое спасибо!
Всё работает идеально.

Оффлайн Администратор

  • Administrator
  • Сообщений: 1561
написал вам ещё письмо на почту