Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2015, 19:44   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Visual Basic Application, макросы в Word 2010

Доброго времени суток.
Моя задача следующая:
"Создать в режиме авто записи макрос, который во всём документе будет делать слово "Земля" полужирным шрифтом, размером 16 пт, красного цвета. Макрос должен вызываться сочетанием клавиш Alt+Z. Макрос должен находиться в файле формата *.docm"

Собственно, как создать макрос, и сохранить его в файле *.docm - я знаю.
Помогите пожалуйста разобраться с остальным:
1) как должен выполняться поиск слова "Земля" ? на более "серьёзных" языках программирования это пройтись по всей строке и получить массив вхождений (бла бла бла). Как это должно выглядеть в коде макроса ?
2) Каким кодом менять отображение текста (полужирный, размер 16 пт, красный цвет) ?
3) Как этот макрос повесить на хоткей ?
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 23.11.2015, 21:36   #2
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Так?
Код:
Sub Макрос1()

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find.Replacement.Font
        .Size = 16
        .Bold = True
        .Color = wdColorRed
    End With
    With Selection.Find
        .Text = "Земля"
        .Replacement.Text = "Земля"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Demetros вне форума Ответить с цитированием
Старый 23.11.2015, 22:30   #3
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Этот код ищет совпадения по выделенному слову и форматирует их.

Код:
Sub Макрос1()
Dim stSlovo As String
stSlovo = Word.Selection.Text    ' или так stSlovo = Selection.Words.First.Text и выделять не нужно
'MsgBox stSlovo
    With Selection.Find.Replacement.Font
        .Size = 16
        .Bold = True
        .Color = wdColorRed
    End With
    With Selection.Find
        .Text = stSlovo
        .Replacement.Text = stSlovo
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Последний раз редактировалось Demetros; 24.11.2015 в 00:25.
Demetros вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA (Visual Basic For Application) Tolian92 Помощь студентам 2 30.05.2013 00:18
Visual Basic application на другой машине SuccEssoR Помощь студентам 0 16.02.2011 15:13
РАЗРАБОТКА ПРОГРАММ НА VISUAL BASIC FOR APPLICATION Zhene4ka2607 Помощь студентам 1 22.05.2009 13:22
РАЗРАБОТКА ПРОГРАММ НА VISUAL BASIC FOR APPLICATION Zhene4ka2607 Microsoft Office Excel 1 21.05.2009 04:44