Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Game от 23 марта 2020, 22:45

Название: Word VBA Макросы: Найти текст вида 10-01, 10-02 и подставить спереди апостроф.
Отправлено: Game от 23 марта 2020, 22:45
Необходимо найти значения формата 10-01, 10-02, 15-03 и т.п. и поставить спереди их апостроф.
Значения могут встречаться как в тексте так и в таблицах.
Название: Re: Word VBA Макросы: Найти текст вида 10-01, 10-02 и подставить спереди апостроф.
Отправлено: Администратор от 24 марта 2020, 07:08
Sub Макрос()

    With ActiveDocument.Range.Find
        .Text = "<[0-9]{2}-[0-9]{2}>"
        .Replacement.Text = "'^&"
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With

End Sub


Примечания к коду

Параметры свойства "Find.Text":
[0-9]{2} - поиск двух цифр
<, > - поиск слова целиком. Например, такой текст не будет обработан: 015-030

Параметры свойства "Find.Replacement.Text":
^& - искомый текст.
Название: Re: Word VBA Макросы: Найти текст вида 10-01, 10-02 и подставить спереди апостроф.
Отправлено: Game от 24 марта 2020, 15:05
спасибо