helgap писал(а):
Uspenskiy писал(а):
Я подобное решал бы макросом
Сначала вставил бы так
... IIF(Sex='м', 'ывыазхщавапкуЖенйцяссыауп', 'Жен') ...
Затем макросом заменил бы ывыазхщавапкуЖенйцяссыауп на Жен и задал бы формат зачеркнутый
А как это сделать макросом в Word не подскажите?
Ivan чего то вам рассказал. Я не вникал чего там...
Могу чего то сказать и я.
Word при открытии документа всегда выполняет макрос с именем AutoOpen.
Вы в своем шаблоне создаете макрос с таким именем.
Что касается текста макроса, то я начинал с того что пользовался функцией Сервис -> Макрос -> Начать запись (это в 2003 ворде так)
и выполнял те действия какие мне нужны. затем открывал созданный Word-ом макрос, смотрел, думал, дорабатывал его...
У меня на вскидку получился такой
Код:
Sub Макрос12()
'
' Макрос12 Макрос
' Макрос записан 24.01.2022 Успенский
'
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
Selection.Find.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
With Selection.Font
.Name = "Trebuchet MS"
.Size = 11
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = True
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = 7822411
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
End Sub
Осталось выкинуть из него лишнее или добавить НЕлишнее (я много чего фантазировал). Тут книжки по VBA вам в помощь.
P.S.
Макрос AutoOpen будет выполняться два раза.
Первый раз когда программа откроет шаблон что бы обработать закладки. Затем она сохранит документ
И второй раз когда программа откроет созданный документ что бы его Вам показать или распечатать.
Это впрочем можно обойти