Макрорекодер файл

advertisement
Что записал макрорекодер? Как увидеть макрос?
Чтобы отобразить на экране макрос в
редакторе Visual Basic в любом
приложении Ms Office выберите
команду Строка меню  Сервис 
Макрос  Макросы, в диалоговом окне выберите нужный макрос и нажмите кнопку Изменить.
Увидим макрос с программным кодом:
Sub Макрос#()
‘вместо # у вас в имени макроса может стоять любая цифра
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
Selection.Font.Color = wdColorGreen
Selection.MoveDown Unit:=wdParagraph, Count:=1
End Sub
При записи каждого следующего макроса макрорекодер нумерует его автоматически. Если
вручную попытаетаться изменить предложенное имя на уже имеющееся, то редактор спросит,
хотите ли вы заменить макрос.
Обратим внимание: записанные за один сеанс в виде команд действия помещены в процедуру
с заголовком Sub Макрос#() и концом процедуры - End Sub.
Откроем макрос и рассмотрим каждую его строчку, помня о своих действиях при записи макроса.
Сначала мы выделили слово:
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
Зная несколько английских слов можно так расшифровать записанную команду:
Selection
– выделение
Move – двигаться, Right – направо
Unit
– единица
Count – количество
Extend –протянуть, растягивать
Команда выделяет одно слово справа от курсора, растягивая область выделения от нулевой до
области размером в одно слово. Проверим, правильно ли наше предположение: изменим строку,
напишем Count:=2 и запустим макрос. Действительно, два слова изменили свой цвет.
А какие ещё единицы текста бывают? Например, символ (Character) или предложение
(Sentence). Попробуйте изменить текст макроса: замените wdWord на wdCharacter и
выполните макрос. Затем подставьте wdSentence и посмотрите, что произойдет.
Второе наше действие при записи макроса – изменение цвета слова на зелёный:
Selection.Font.Color = wdColorGreen
Font – шрифт
Color – цвет, Green – зелёный
Попробуйте вместо wdColorGreen записать wdColorRed и выполните макрос.
Наконец, последняя строчка:
Selection.MoveDown Unit:=wdParagraph, Count:=1
Down – вниз
Paragraph – абзац
Переместились на один абзац вниз. Обратите внимание, в данной команде параметр Extend
отсутствует, поэтому происходит не выделение, а перемещение.
Попробуйте поменять Count:=1 на Count:=2. Макрос будет обрабатывать только каждый
второй абзац.
Как видите, интуитивно понятно, что записал макрорекодер. В структуре записи мы разберёмся
позже.
Теперь же отметим только ещё один момент. Область выделения -Selection - единственна в
каждом открытом окне. В первый момент она нулевая, просто точка, где стоит курсор. Область
выделения может быть расширена, как в строчке
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
, где есть параметр Extend (расширение, протяжка).
Если этот параметр отсутствует, то происходит переход к другой нулевой области выделения, как
в строчке
Selection.MoveDown Unit:=wdParagraph, Count:=1
Таким образом, что для выполнения поставленной задачи по возможности начинайте с записи
необходимых фрагментов с макрорекодера. Далее, «расшифровав» эти команды, можно
изменить, отредактировать макрос - то есть, доработать макрос в соответствии с поставленной
задачей.
Задания для самостоятельной работы.
1. Изменяйте в уже готовом макросе в окне кода параметры команд, чтобы убедиться в
правильности своего понимания:
a. количество единиц;
b. название единицы измерения текста (буква, слово, предложение);
c. перемещение вниз или вверх, влево или вправо;
d. цвет текста.
2. Самостоятельно проанализируйте макросы, которые написаны в предыдущем задании.
3. Откройте документ с текстом в несколько страниц (чтобы не набирать самим).
Поэкспериментируйте с текстом макроса. Создайте макрос, который будет первое
предложение в каждом абзаце окрашивать в синий цвет, а первую букву этого предложения
– в красный цвет. Указание: используйте возврат к предыдущей позиции курсора с помощью
команды
Selection.MoveLeft Unit:=нужноеЗначение, Count:=нужноеЗначение
Download