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

Автор Alceste, 04 декабря 2018, 21:48

Alceste

Есть ли возможность перед всеми числами (именно числами, а не цифрами) в тексте поставить определённый символ?

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

Администратор

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

Знак подставляется в этой строке:
.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