Public Sub Privyazka()
' Привязка однобуквенных предлогов, союзов и местоимения "я" к следующему за ними слову неразрывным пробелом
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="(<[ABCKOacoАВИКОСУЯавикосуя])([^032^0160])", ReplaceWith:="\1^0160", Replace:=wdReplaceAll, MatchWildcards:=True
' Двойные сочетания однобуквенных предлогов: "а в", "и о", "а я"
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="([\>^0160][ABCKOacoАВИКОСУЯавикосуя])([^032^0160])", ReplaceWith:="\1^0160", Replace:=wdReplaceAll, MatchWildcards:=True
' Однобуквенный предлог с последующей за ним запятой
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="([^009^032^034^038^040\/^060\[\{^0147^0160^0171][ABCKOacoАВИКОСУЯавикосуя])(\,)([^032^0160])", ReplaceWith:="\1\2^0160", Replace:=wdReplaceAll, MatchWildcards:=True
' Неразрывные пробелы в сочетаниях типа "и т. д."
' И Т. Д. | И Т. П. | В Т. Ч. | Т. е. | Т. к.
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="([TТ].)([^032^0160])([EKeДЕКПЧекн].)", ReplaceWith:="\1^0160\3", Replace:=wdReplaceAll, MatchWildcards:=True
' (и) т. д. | (и) т. п. | (в) т. ч. | т. е. | т. к. | т. н. | у. е. | н. э.
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="([нту].)([^032^0160])([eдекнпчэ]\.)", ReplaceWith:="\1^0160\3", Replace:=wdReplaceAll, MatchWildcards:=True
' Неразрывный пробел в сочетаниях типа "г. Москва", "р. Нева", "с. Старые Матюги"
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
ActiveDocument.Content.Find.Execute FindText:="([^009-^013^032^034^038\(\/\>\[\{^0147^0160^0171][ГгПпРрСс].)([^032^0160])([ЁА-Я])", ReplaceWith:="\1^0160\3", Replace:=wdReplaceAll, MatchWildcards:=True
End Sub