Содержание 1 введение 6
Вид материала | Реферат |
10.3 Просмотр и корректировка и удаление макросов 10.4 Создание макросов в редакторе VBA |
- Заключительный отчет июль 2010 содержание содержание 1 список аббревиатур 3 введение, 6029.85kb.
- Содержание введение, 1420.36kb.
- Содержание Содержание 1 Введение, 82.41kb.
- Содержание разделов дисциплины, объем в лекционных часах-60 часов, 48.53kb.
- Содержание учебной дисциплины. Введение. Раздел, 159.08kb.
- Краткое содержание информационного сайта муниципального образования, 693.73kb.
- Черноиванова Наталья Николаевна г. Волгоград. 2010 г. Содержание введение 2 стр пояснительная, 184.65kb.
- Содержание Аннотация, 625.36kb.
- Содержание: стр, 753.82kb.
- Содержание введение, 283.8kb.
10.3 Просмотр и корректировка и удаление макросов
Для просмотра тела макроса необходимо выбрать его имя из списка макросов в окне Макрос и нажать кнопку Изменить. На экране появится окно редактора Visual Basic. В нем в виде команд Visual Basic представлены все действия пользователя при записи макроса. Для примера рассмотрим макрос, в котором производилась работа с текстом (рис. 10.3).
Первая строка нашего кода – это запись текста.
Вторая строка – переключение клавиатуры для набора английского текста.
Третья строка – запись текста.
Четвертая строка – нажатие клавиши ENTER, новый абзац.
Для редактора макрос является простым текстом, который можно редактировать как обыкновенный документ, то есть вставлять новые строки, удалять, копировать и переносить ранее записанные строки макроса и т.д.
Рис. 10.3 Текст макроса в окне редактора Visual Basic
Чтобы удалить макрос, необходимо выбрать его имя из списка макросов в окне Макрос и нажать на кнопку Удалить.
10.4 Создание макросов в редакторе VBA
Довольно часто макросы создаются непосредственным набором текста в редакторе VBA. Почему?
Приведем следующие аргументы:
- во-первых, в некоторых случаях средство автоматической записи макросов не может решить поставленную задачу. Например, нельзя записать нажатия клавиш, выполненные в другом приложении. В то же время одна из важнейших характеристик VBA – это возможность использования в любом приложении, поддерживающем VBA;
- во-вторых, мышь используется только для выбора команд меню и работы в диалоговых окнах. Например, нельзя воспользоваться мышью, чтобы выделить текст;
- в-третьих, команды отмены и нажатия клавиши <Backspace> не записываются. Хотя текст макросов, при записи которых отменялись побочные действия, укорачивается, однако, при этом становится и возможной запись команд отмены и нажатий клавиши <Backspace>, если они действительно нужны.
Кроме того, с помощью VBA можно создавать более короткие макросы. Предположим, требуется создать макрос, который только выделяет выбранный текст синим цветом. Для запуска средства автоматической записи пользуйтесь командой Сервис\Макрос\Начать запись (Tools\Macro\Record), задайте имя макроса (например, «Blue»), а затем нажмите кнопку OK (Record). Затем выберите команду Формат\Шрифт (Format\Font) и укажите цвет шрифта. Посмотрите, сколько текста содержится в созданном макросе!
Sub Blue()
'
' Blue Макрос
' Макрос записан 01.02.2004 Alex Potahov
'
With Selection.Font
.Name = "Times New Roman"
.Size = 12
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorSkyBlue
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
End Sub
Только небольшая часть данного макроса относится к требуемому действию. Выполнение же остальных команд процедуры может привести к нежелательным последствиям. Поясним это утверждение. Предположим, что выбранное слово выделено курсивом или шрифтом. Поскольку данный макрос выполняет также установку начертания и гарнитуры (эти параметры были установлены в диалоговом окне Шрифт (Font)), то макрос изменит цвет слова, а также установит другое начертание и шрифт.
Обратите внимание, что выполнение макросов или процедур VBA, в которых указана избыточная информация, может привести к нежелательным результатам. Поэтому после записи макроса убедитесь, что в нем используются только нужные свойства и методы объекта.
Из данной ситуации имеются два выхода: можно создать макрос в VBA, не прибегая к автоматической записи, либо использовать редактор Visual Basic, чтобы удалить ненужные строки. В последнем случае довольно просто найти подлежащие уничтожению инструкции. Например, параметры, описывающие шрифт, перечисляются ниже строки with Selection.Font, поэтому все, что необходимо сделать – это запустить редактор VBA и уничтожить инструкции, которые не относятся к цвету символов.
Конечная версия макроса лаконична и изменяет только требуемые параметры. Конечно, если необходимо кроме цвета символов установить для выделенного текста другой шрифт, то следует оставить в записанном макросе строку, устанавливающую шрифт. Необходимо отметить, что если параметр не указан, то он не изменяется.
Sub Blue()
'
' Blue Макрос
' Макрос записан 01.02.2004 Alex Potahov
'
With Selection.Font
.Color = wdColorSkyBlue
End With
End Sub
Для рассмотренного примера выявить ненужные строки в макросе довольно просто. Однако для написания более сложных процедур, которые нельзя создать с помощью средства автоматической записи, можно сразу воспользоваться редактором VBA добавить соответствующие модуля кода.