Подскажите пожалуйста, как подправить алгоритм замены, чтобы неразрывный пробел ставился правильно в списке.
Нужно, чтобы в
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
Галочка "Подстановочные знаки".
Если использовать замену не по всему файлу, а только в том фрагменте, где список, то должно сработать.
При этом в списке каждый элемент должен быть представлен одним абзацем.
Спасибо, работает.