Шрифт:
Окна Контрольного значения, Локальных переменных, Отладки и Стека вызова могут быть вызваны как из меню Вид или соответствующими сочетаниями клавиш, так и при нажатии кнопок на панели "Отладка". Достаточно только подвести курсор к каждой кнопке панели, чтобы увидеть, какую команду она вызывает.
Во время работы макрокоманды ее можно прервать в любой момент нажатием клавиш Ctrl и Break. После этого будет возможен переход в режим отладки с места остановки или завершение программы.
Для выхода из режима отладки до завершения полного выполнения программы необходимо выбрать функцию Сброс из меню Запуск или нажать на панели "Отладка" кнопку "Сброс".
В режиме отладки возможен принудительный переход к какой-либо команде для того, чтобы дальнейшее выполнение программы пошло именно с нее. Для этого надо просто перетащить мышкой по серой полосе слева указатель в виде желтой стрелки на нужное место. Если вы, просматривая при отладке текст, забыли, где программа была остановлена, то просто выберите из меню Отладка команду "Показать следующую инструкцию".
И помните, что Вы можете всегда получить подробную справку по любой команде, поставив на нее курсор и нажав клавишу F1.
VBA: ОСНОВЫ СИНТАКСИСА
Для полного описания возможностей и составляющих языка Visual Basic for Applications потребовалось бы несколько толстых книг. Поэтому в этом учебнике вы не найдете подробных описаний каждой команды Visual Basic for Applications, рассказа об их формате и требуемых параметрах. Не найдете по очень простой причине — вся эта информация приведена в Справочной системе Редактора VBA, да и встроенные в него средства автоматической подсказки, о которых вы могли прочесть выше, тоже не дадут ошибиться. Если необходимо узнать, какой набор команд позволяет программно реализовать ту или иную встроенную возможность, например, Microsoft Word, то можно воспользоваться средством записи макросов, выполнив необходимые действия во время его работы, а потом почитать в Справочной системе о каждой записанной команде, открыв получившийся макрос в Редакторе VBA.
Однако в Visual Basic for Applications есть некоторые вещи, о которых в Справочной системе упоминается не на первом плане, и человеку, незнакомому с программированием, трудно узнать о них. Поэтому в этой главе будут приведены описания некоторых команд, которые нельзя записать средством записи макросов, а также рассказано о неочевидных возможностях Visual Basic for Applications.
Возможно, те, кто ранее занимался программированием, сочтут многое из изложенного очевидным. В этом случае им можно пропустить данную часть.
Примечание. Очень полезно при разработке программ на Visual Basic for Applications смотреть примеры использования команд, приводимые в справке — в разделах "Example" многих справочных окон (рис. 4.1). Стоит даже копировать оттуда фрагменты кода и модифицировать их под свои нужды.
Рис. 4.1. Фрагмент кода в справке
Если вам никак не удается создать работающий фрагмент кода программы — посмотрите в справке в разделе примеров, не встретится ли вам там то, что вы так долго пытались создать. Все фрагменты кода в справке можно свободно копировать в свои программы. Во всяком случае, в справке все команды написаны грамотно и правильно.
1. События, методы, свойства.
Когда-то давным-давно программы, написанные и работавшие тогда еще под MS-DOS, получали от пользователя данные, обрабатывали их и выдавали затем результат. Почти любая программа предусматривала в своей работе период ввода данных, период обработки, период выдачи результата. Подобные действия были принципом работы Dos-овских программ. И программирование их называлось структурным, — надо было строго и последовательно разрабатывать алгоритм, реализовывать заданный порядок действий программы, в который в процессе работы почти не мог вмешаться пользователь, разве только принудительно остановив программу.
С появлением операционной системы Windows стал широко известным другой принцип программирования и создания алгоритмических языков — принцип объектно-ориентированного языка.
Это значит, что основная направленность разработчика сместилась с действия на объект, — на описание на языке программирования реакций этого объекта на действия пользователя, его свойств и их изменений. И Visual Basic for Applications является типичным представителем объектно-ориентированных языков, как по своему синтаксису, так и по архитектуре программ.
Основными понятиями объектно-ориентированного языка являются объект, свойство, метод, событие.
Объект — это то, над чем может совершаться какое-либо действие или то, что имеет определенные характеристики. К примеру, открытый документ Word — это объект, первая буква в этом документе — тоже объект, тридцатое слово, десятое предложение, второй рисунок — это все объекты. Объектами также являются запущенная программа, какой-нибудь файл на диске, даже сам Word — это тоже объект.
Почти каждый объект внутри себя имеет подобъекты, которые, в свою очередь, являются полноценными объектами и могут иметь свои подобъекты. Например, у объекта "Документ" есть подобъект "Десятое предложение", у которого есть подобъект "Второе слово", у которого есть подобъект "Третья буква". С помощью объектно-ориентированного языка Visual Basic for Applications можно обратиться к любому объекту Microsoft Office, если знать его иерархию — то есть перечень всех тех объектов, чьим подобъектом он является, и произвести с этим объектом какое-либо действие или, наоборот, узнать какие-либо его характеристики.