Интернет-журнал "Домашняя лаборатория", 2007 №7 - Глуховский
Шрифт:
Интервал:
Закладка:
Поставив перед любой командой знак апострофа (') или команду "rem", можно ее закомментировать — то есть исключить из выполнения. В этом случае Редактор VBA не будет ее выполнять. Кроме того, после знака апострофа можно написать пояснения к соответствующей части программы для себя и других программистов.
Все комментарии отображаются в редакторе VBA зеленым цветом.
Щелкнув два раза на названии формы, можно открыть окно Дизайна форм (рис. 3.16.).
Рис. 3.16. Окно Дизайна форм.
Нажав на соответствующий элемент (кнопку, поле ввода, переключатель и др.) на панели инструментов "Элементы управления" и нарисовав затем мышкой этот элемент на поле формы, можно поместить его на форму. Двойной щелчок на помещенном на форму элементе открывает окно программ пользовательской формы, где можно написать код, который будет выполняться при этом самом двойном щелчке на элементе. Можно также выбрать другие действия, которые надо выполнить, чтобы запустить такую программу, — события (см. ниже). У каждой формы есть окно ее программ — реакций элементов на события, хотя оно может быть и пустым. Вызвать его можно пунктом "Программа" из контекстного меню названия формы в Менеджере проектов.
Если выбрать какой-нибудь элемент формы и из его контекстного меню выбрать пункт "Свойства" (или нажать клавишу F4), то откроется Окно свойств (Properties Window) — рис. 3.17.
Рис. 3.17. Окно свойств элементов формы
Здесь можно задать все доступные свойства каждого элемента, например, его цвет, цвет границы, надпись, состояние — доступно/недоступно для изменений, поместить на элемент картинку из внешнего файла (пункт "Picture"). Все эти свойства также можно задавать программно, однако, некоторые, вроде той же картинки, стоит задавать только в этом окне. Для получения подробного описания функции каждого элемента окна свойств (а состав этих элементов различен для каждого элемента формы) достаточно просто поставить на него курсор и нажать F1. Настоятельно рекомендуется подробно изучить предназначение всех элементов данного окна, как с помощью вызова справки, так и с помощью изучения изменений в состоянии объекта после изменения значения свойства.
Окно Просмотр объектов (Object Browser), вызываемый кнопкой F2 или из меню Вид (рис. 3.18), является кратким справочником по всем возможным свойствам и методам (то есть действиям, командам) объектов Visual Basic for Applications. Можно посмотреть, какие свойства или методы доступны для каждого объекта, какие объекты в принципе существуют в Visual Basic for Applications, вызвать справочный файл для каждого объекта, свойства или метода.
Рис. 3.18. Окно Просмотр объектов
На панели инструментов "Правка" Редактора VBA имеются соответствующие кнопки для вызова вышеописанных функций. Так, кнопка "Список свойств/методов" позволяет увидеть возможные продолжения любой команды (то же самое можно получить, поставив после команды точку, но так неудобно делать в уже написанном тексте), а кнопка "Сведения" выводит информацию о переменной, которая в данный момент выделена. Как и в самом редакторе Word, в Редакторе VBA можно вставлять закладки в текст программы для более удобного перехода к соответствующим его частям.
Модули, входящие в состав проекта, можно сохранить в текстовом файле. Для этого в Менеджере проектов из контекстного меню правой кнопки мыши соответствующего модуля надо выбрать функцию "Экспорт файла" (рис. 3.19). Модуль будет сохранен в текстовом файле с расширением".bas". Можно просто перетащить название модуля в окно Проводника, держа нажатой левую кнопку мыши Редактор VBA поддерживает механизм Drag-and-Drop. Вставить ранее сохраненный модуль можно через команду "Импорт файла" того же меню или путем перетаскивания его иконки в окно Редактора VBA.
Рис. 3.19. Экспортирование модуля
Модули и формы можно свободно перетаскивать между различными проектами, копируя тем самым их из одного проекта в другой.
Отладка программы
Редактор VBA обладает очень большими возможностями отладки программы, то есть поиска в ней алгоритмических и языковых ошибок. Поскольку язык Visual Basic for Applications — не компилируемый, а интерпретируемый (то есть готовая программа представляет собой текст исходного кода, хранящийся в шаблоне или документе, который переводится в машинные коды при каждом ее запуске, в то время как конечный продукт средств создания программ на остальных языках программирования практически всегда представляет собой файл с исполняемым машинным кодом), то после завершения написания кода и успешной его отладки программа готова к использованию.
Для запуска на выполнение готовой или записанной программы из редактора Visual Basic for Applications необходимо нажать клавишу F5 или выбрать соответствующий пункт из меню "Запуск" (в английской версии — Run). Программа начнет выполняться и, если в ней вдруг найдутся ошибки в записи команд или обращения к неизвестным командам, будет выдано соответствующее сообщение (рис. 3.20).
Рис. 3.20. Сообщение об ошибке компиляции
Данное сообщение означает, что эта команда редактору Visual Basic for Applications неизвестна. Значит — надо изменить код программы, соответственно исправив его.
(В Visual Basic for Applications можно создавать собственные команды — функции или процедуры, которые могут вызываться так же, как и встроенные. Об этом будет рассказано ниже.)
Если возникает ошибка вследствие неправильного использования команд Word, то редактор Visual Basic for Applications выдает диалоговое окно, в котором приводится некоторое описание ошибки. Так, при попытке выделить жирным шрифтом десятимиллионное слово в документе было выдано сообщение "Запрашиваемый номер семейства не существует" (рис. 3.21), так как десятимиллионного слова в документе не было.
Рис. 3.21. Сообщение об ошибке из-за неправильного использования команд VBA
В последнем диалоговом окне, как можно видеть, есть кнопка под названием "Отладка". Нажав на нее, можно перейти в режим отладки программы — то есть специального состояния Редактора Visual Basic for Applications, в котором программа может исполняться построчно, а программист имеет возможность видеть значения всех переменных программы и даже принудительно задавать эти значения. Также в режим отладки можно перейти из Редактора VBA, поставив курсор внутрь программы и нажав клавишу F8.
Если ошибка произошла в макросе, находящемся в недоступном шаблоне (например, загруженным глобально через папку автозагружаемых файлов Word), то кнопка "Отладка" будет неактивна.
В режиме отладки программисту доступны следующие возможности:
1. Пошаговое исполнение программы. Выполняются все команды последовательно, но выполнение каждой команды требует нажатия кнопки F8. Если