Поиск Написать

Макрос для буквы "Ё".

Макрос для буквы "Ё".
К букве "ё" я отношусь с уважением и почтением. Очень кстати мой ЖЖ-знакомый taburetkine привёл в своём дневнике (к сожалению, взломанном) ссылку на великолепный прогноз погоды: 29 августа 2006 08:04 Сегодня Москва передохнет от дождей.
По профессии я – аудитор, часто цитирую нормативные документы из базы "Консультант Плюс". В ней буква "Ё" не проставлена, хотя очень много характерных слов – счёт, учёт, расчёт и т.д. В результате я написала для MS Word макрос, расставляющий её в часто используемых мной слова. Он содержит также замену N на № и неразрывные пробелы перед "руб." и т.д. Хотя это не имеет прямого отношения к теме буквы "Ё", но для нормального оформления документов необходимо, поэтому я не стала кромсать свой макрос и выкладываю его. Конечно, он не учитывает все случаи, но может быть дополнен по мере необходимости.


Sub БукваЁ ()
' БукваЁ Макрос
' Макрос записан 10.05.2007 Суйканен Диана
'
ActiveWindow.View.ReadingLayout = Not ActiveWindow.View.ReadingLayout
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ActiveWindow.ActivePane.View.Type = wdNormalView
Else
ActiveWindow.View.Type = wdNormalView
End If
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "объем"
.Replacement.Text = "объём"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "счет"
.Replacement.Text = "счёт"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "учет"
.Replacement.Text = "учёт"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "отчет"
.Replacement.Text = "отчёт"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " счётов"
.Replacement.Text = " счетов"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " счёта"
.Replacement.Text = " счета"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "счёта"
.Replacement.Text = "счета"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "ту счета"
.Replacement.Text = "ту счёта"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "расчет"
.Replacement.Text = "расчёт"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "сальдо счета"
.Replacement.Text = "сальдо счёта"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "ого счета"
.Replacement.Text = "ого счёта"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "му счету"
.Replacement.Text = "му счёту"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "т счета"
.Replacement.Text = "т счёта"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "приемки"
.Replacement.Text = "приёмки"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = """"
.Replacement.Text = """"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "расчётсчет"
.Replacement.Text = "расчёт"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "N "
.Replacement.Text = "№^s"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " г."
.Replacement.Text = "^sг."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " руб."
.Replacement.Text = "^sруб."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveWindow.View.ReadingLayout = Not ActiveWindow.View.ReadingLayout
End Sub

Размещено в сообществах:
говорим и пишем правильно
Зануды


Комментарии:
Ну, раз уж о занудстве речь зашла

По правилам русского языка буква "ё" используется в тех же случаях, что и явно проставляемое ударение, то есть при неоднозначости прочтения и в учебной литературе. Эти правила применялись все относительно недолгое время существования буквы "ё" - и в дореволюционной орфографии, и в советской.
Не сочтите за занудство, но в ворде и экселе есть замечательная функция - автозамена. Зачем нужны макросы, когда можно пользоваться встроенным механизмом?
потому что нужно сделать несколько автозамен. Собственно, именно этим занимается макрос
 

Подтвердите удаление записи