Word VBA Макросы: Замена в списке литературы обычного пробела на неразрывный

Автор Anton, 02 ноября 2017, 11:12

Anton

Подскажите пожалуйста, как подправить алгоритм замены, чтобы неразрывный пробел ставился правильно в списке.
Нужно, чтобы в
1. Рубинштейн, С. Л.
неразрывный пробел стоял после запятой (пример, как надо, есть в приложенном файле).

Sub FIO_SP

    With Selection.find

        .Wrap = wdFindContinue
        .MatchWildcards = True
        .text = "(<[A-ZА-Я][a-zа-я]@>)(,)([^32^0160])([A-ZА-Я].)([^32^0160])([A-ZА-Я].)"
        .Replacement.text = "\1\2^0160\4^0160\5"
        .Execute Replace:=wdReplaceAll
       
    End With

End Sub

Но по этому алгоритму неразрывный пробел ставиться и в сочетании К. А. Абульхановой, А. Н. Славской, после фамилии Абульхановой, а мне этого не нужно.
Как этого избежать? Пример приложил.

[вложение удалено администратором]

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

Для данного способа список не должен быть в самом начале файла, т.е. спереди должен быть знак абзаца.
Поле "Найти": (^0013*,)( )
Поле "Заменить": \1^0160
Галочка "Подстановочные знаки".

Если использовать замену не по всему файлу, а только в том фрагменте, где список, то должно сработать.
При этом в списке каждый элемент должен быть представлен одним абзацем.