Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы программирования на VBA для Microsoft Excel. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
783 Кб
Скачать

Свойство (параметр) – это характеристика или атрибут объекта управления. Свойства выделенного объекта можно изменить или назначить, определив параметры в окне свойств, которое вызывается ко-

мандой View/ Properties Window.

Cобытие – это действие, которое распознается объектом управления и на которое он определенным образом реагирует. Реакция объекта на событие программируется в специальной процедуре обработки события. Заготовка этой процедуры вызывается автоматически при двойном щелчке по объекту. Реакция на события определяется программистом в процессе описания процедуры обработки события.

Метод – это понятие, аналогичное понятию функция. Вызов метода приводит к воздействию на объект. На изменение свойств и запуск (вызов) методов реакция объекта заранее предопределена. Она прописана в классе, на основе которого был создан объект.

Процедуры и функции – это подпрограммы, представляющие собой произвольные последовательности операторов VBA. Процедуры делятся на событийные (запускаются при наступлении событий) и общие процедуры.

Событийные процедуры связаны с конкретными объектами и являются составной частью программного кода форм, в которых располагаются объекты.

Общие процедуры не имеют связи с объектами, располагаются в стандартном модуле (Module) и могут быть вызваны из любой части программного проекта либо из других процедур того модуля, где они описаны.

Главное окно редактора VBA

Создаваемое в среде VBA приложение состоит из нескольких файлов, объединенных в проект. Проект – это центральный файл, который включает все остальные. Он и представляет собственно программу.

Файл проекта сохраняется в текущем документе, с которым работает офисная программа. Для его сохранения можно использовать комбинацию клавиш Ctrl+S.

В состав проекта могут входить модули формы, стандартные модули, модули классов, листы книги Excel и объект ЭтаКнига.

Самым крупным объектом приложения является форма, которая представляет собой окно с расположенными на нем элементами управления.

31

Окно формы может содержать командные кнопки, текстовые поля, полосы прокрутки и другие объекты. Форма может быть сохранена в файле. Файл формы имеет расширение имени – frm.

Главное окно редактора VBA служит для отображения всех его компонентов. Это окно появляется при запуске редактора командой Alt+F11 или Сервис/ Макрос/ Редактор Visual Basic. Изображение главного окна показано на рис. 3.

1

2

4

3

Рис. 3. Окно редактора VBA при работе с приложением Excel

Вструктуре главного окна редактора VBA можно выделить четыре области, условно обозначенные цифрами 1, 2, 3, 4.

Вобласти 1 располагается строка заголовка окна, строка меню и могут располагаться от одной до четырех панелей управления. Управлять видимостью панелей управления можно с помощью меню View/ Toolbars. На рис. 3 показана только одна, стандартная, панель управления.

Вобласти 2 располагается окно проводника проекта, предназначенное для отображения структуры проекта и быстрого перемещения по его элементам. Отобразить это окно можно с помощью команд

Ctrl+R и View/ Project Explorer.

32

Область 3 служит для отображения окон Immediate, Locals и Watches, необходимость в которых возникает при отладке приложения. Окна отображаются с помощью соответствующих команд – View/ Immediate Window, View/ Locals Window, View/ Watch Window.

В самой обширной области 4 может быть отображено одно из трех окон – окно пользовательских форм (UserForm), окно программных кодов (Code) или окно просмотра объектов (Object Browser).

Окно формы и окно программных кодов ее элементов доступны после вставки формы командой Insert/ UserForm. Отобразить окно формы можно также с помощью команды View/ Object или Shift+F7.

Окно кода выделенного элемента формы или проекта можно отобразить с помощью команды View/ Code или нажатием на клавишу F7. Окна программных кодов модулей и классов доступны после их встав-

ки соответственно командами Insert/ Module и Insert/ Class Module.

Отобразить окно программного кода любого элемента проекта можно двойным щелчком по соответсвующему элементу в окне проводника проекта. Эта же операция выполняется выделением соответсвующего элемента и выполнением команды View/ Code.

Управлять порядком расположения окон можно с помощью команд

Window/ Tile Horizontaly, Window/ Tile Verticaly и Window/ Cascade.

Окно панели элементов управления отображается автоматически после вставки формы. Управлять отображением и скрытием этого окна можно с помощью команды View/ Toolbox.

Окно свойств объектов доступно после выделения соответствующего объекта формы и выполнения команды View/ Properties Window или нажатия на клавишу F4.

Окно проводника проекта (Project Explorer)

Окно проводника проекта располагается в левой части главного окна редактора VBA и предназначено для просмотра компонентов проекта и выполнения операций над ними. Внешний вид окна показан на рис. 4.

Окно обычно открыто, но если это не так, то открыть окно можно тремя способами:

1)нажав на клавиши Ctrl+R;

2)нажав на кнопку Project Explorer на стандартной панели инструментов;

3)воспользовавшись меню View/ Project Explorer.

33

Рис. 4. Внешний вид окна проводника проектов

В окне проводника проекта отображаются проекты, представляющие собой открытые файлы документов, с которыми работает прило-

жение Excel.

Имена проектов выделены полужирным шрифтом и соответствуют именам открытых файлов. Если редактор VBA открыт из Excel, то в Project Explorer будут открытые книги Excel и специальная скрытая книга PERSONAL.XLS.

Каждый открытый документ представляет собой проект, который может хранить в своем составе объекты Excel и такие программные компоненты, как стандартные модули, модули классов и пользовательских форм.

Добавить в проект модули или формы можно при помощи меню Insert или через контекстное меню в Project Explorer. Удалить их из проекта можно, выбрав в контекстном меню пункт Remove.

Стандартный модуль содержит в своем составе два раздела: раздел объявления переменных и констант уровня модуля и раздел, в котором располагаются процедуры и функции, называемые методами модуля.

Стандартный модуль (Module) автоматически создается при работе макрорекордера – средства отслеживания действий пользователя и за-

34

писи их в макрос. В стандартный модуль записываются все создаваемые макросы.

Чаще всего в проектах используется только один стандартный модуль, куда и записывается весь код. Новые стандартные модули целесообразно создавать исходя из удобства их экспорта и импорта при их обмене между приложениями.

Модули классов используют для создания своих собственных классов, по которым можно создавать свои собственные объекты. В обычных приложениях модули используются редко.

Пользовательские формы являются одновременно хранилищем элементов управления и программного кода. Программный код относится к самой форме и к ее элементам управления.

Для изменения имени проекта, ввода его описания и защиты паролем требуется панель свойств VBAProjectProperties, которая запускается из контекстного меню.

Окно пользовательских форм (UserForm) и панель элементов управления (Toolbox)

Окно формы – самый крупный графический объект приложения. С его помощью создается интерфейс приложения и реализуется управление его работой. Пустая форма служит заготовкой будущего интерфейса программы.

Для отображения формы используется команда редактора Insert/ UserForm или кнопка Insert UserForm, расположенная на стандартной панели главного окна редактора VBA. На рис. 3 показан внешний вид незаполненной формы UserForm1.

Панель инструментов Toolbox содержит шаблоны элементов управления, с помощью которых из незаполненной формы можно создать любое требуемое для приложения диалоговое окно.

Для размещения управляющего элемента на форме необходимо выполнить следующие действия:

выбрать требуемый элемент на панели инструментов Toolbox; поместить указатель мыши в нужное место формы; с помощью левой кнопки мыши растянуть изображение до тре-

буемых размеров; отпустить кнопку мыши.

35

Размеры элементов формы и самой формы можно изменять с помощью окна свойств, изменяя значения свойств Height (высота) и Width (ширина).

Окно редактирования форм поддерживает операции буфера обмена. Таким образом, можно копировать, вырезать и вставлять элементы управления, расположенные на поверхности формы.

Для облегчения размещения и выравнивания элементов управления используется сетка формы. Активизируется она с помощью команды

Tools/ Options/ General/ Show Grid. В окне General устанавливается и шаг сетки.

Кроме того, команды меню Format автоматизируют и облегчают процесс выравнивания элементов управления как по их взаимному местоположению, так и по размерам.

Окно свойств (Properties Window)

Окно свойств используется для просмотра и установки значений свойств выбранной формы или элемента управления. Проще всего отобразить это окно можно, нажав клавишу F4. Для этой же цели используется команда View/ Properties Window или нажатие на панели управления кнопки Properties Window.

В верхней части окна свойств располагаются раскрывающийся список элементов управления формы и сама форма. Из этого списка можно выбрать необходимый элемент, свойства которого требуется задать или отобразить.

Ниже раскрывающегося списка находится рабочая область, содержащая две вкладки: Alphabetic (По алфавиту) и Categorized (По категориям), отображающие набор свойств в алфавитном порядке или по категориям. В обеих вкладках свойство Name (имя элемента управления) будет первым.

Выбранное свойство можно изменить набором нового значения с клавиатуры или выбором этого значения из расрывающегося списка свойств. Активизировать этот список можно щелчком по соответствующему полю окна свойств.

Большинство отображаемых объектов можно подписать, используя для этого свойство Caption (заголовок, надпись). Исключение составляют лишь несколько объектов, среди которых объект TextBox (текстовое поле). Для пояснения назначения этих объектов на форме используется объект Label (этикетка, надпись).

36

Окно редактирования кода (Code)

Это окно представляет собой текстовый редактор, предназначенный для написания и редактирования текста программы. Оно является одним из основных средств, используемых для создания и отладки приложения.

Окно открывается двойным щелчком на изображении любого элемента, входящего в состав окна проекта. Оно автоматически возникает на экране при создании нового модуля. Для его вызова можно выбрать объект и нажать функциональную клавишу F7. Вызов можно осуществить и путем выделения объекта и использования команды меню View/ Code или выбора пункта View Code из контестного меню выбранного объекта.

В верхней части окна редактирования кода расположены два раскрывающихся списка – список объектов (слева) и список компонентов выбранного объекта (справа). Содержимое второго списка зависит от выбора элемента в первом списке. При выборе элемента в списке объектов синхронно изменяется содержание списка компонентов объекта.

Для модуля формы список объектов содержит имя формы, имена объектов, входящих в состав формы, а также элемент General (общий), представляющий собой общий раздел объявлений уровня модуля формы.

Список компонентов позволяет выбрать процедуру, назначаемую выбранному объекту. При этом в окне редактирования кода отобразится шаблон или полный текст процедуры. Для элемента General в списке компонентов будет только один элемент – Declarations (объявления).

При работе с раскрывающимися списками необходимо учитывать следующие обстоятельства:

для стандартного модуля список объектов содержит только ком-

понент General;

для модуля класса список объектов содержит только два элемента – General и Class, причем для компонента Class доступны лишь две процедуры – Initialize и Terminate;

для установки режимов работы редактора и объявления переменных уровня модуля нужно в списке объектов выбрать элемент General, а в списке компонентов – элемент Declarations.

Раскрывающиеся списки окна редактора кода обеспечивают выбор объекта, переход от объекта к процедуре и таким образом облегчают написание процедур.

37

Окно редактирования кода может находиться в одном из двух режимов представления кода – в режиме просмотра отдельной процедуры и в режиме просмотра всего модуля.

Переключение режимов работы окна редактирования кода осуществляется выбором одной из двух кнопок в нижнем левом углу окна редактирования кода – кнопки Procedure View и кнопки Full Module View.

Переключать эти режимы можно и в окне Options, появляющемся после выполнения команды Tools/ Options. Для просмотра кода всего модуля нужно установить флажок Default to Full Module View. Для просмотра отдельной процедуры этот флажок нужно снять.

Врежиме просмотра отдельной процедуры, если курсор расположен в первой строке, нажатие на клавишу PgUp приводит к переходу к предыдущей процедуре. Если курсор расположен в последней строке процедуры, то нажатие на клавишу PgDn приводит к переходу к следующей процедуре.

Вокне редактирования кода есть возможность автоматически завершать написание операторов, свойств и параметров. При написании кода редактор сам предлагает пользователю список компонентов, логически завершающих вводимую инструкцию.

Например, при наборе оператора объявления переменной Dim F As после As на экране отобразится список наименований типов данных, которые можно выбрать для завершения этого оператора. Выбор из предлагаемого списка производится нажатием на клавишу Tab или двойным щелчком на элементе списка.

Для обеспечения возможности автоматического отображения списка компонентов нужно дать команду Tools/ Options/ Editors и установить флажок Auto List Members (Список компонентов). Отобразить список компонентов при снятом флажке Auto List Members можно с помощью комбинации клавиш Ctrl+J.

Для обеспечения автоматического отображения сведений о процедурах, функциях, свойствах и методах после набора их имен нужно дать команду Tools/ Options/ Editors и установить флажок Auto Quick Info (Краткие сведения). Отобразить список этих сведений при снятом флажке Auto Quick Info можно с помощью комбинации клавиш Ctrl+I.

После набора строки кода и нажатия клавиши Enter редактор кода производит автоматическую проверку синтаксиса набранной строки. Строка, содержащая синтаксическую ошибку, выделяется красным цветом.

38

Если кроме этого дать команду Tools/ Options/ Editors и установить флажок Auto Syntax Check (Проверка синтаксиса), наряду с изменением цвета строки, содержащей синтаксическую ошибку, после нажатия клавиши Enter на экране отображается окно с информацией о возможной ошибке.

Для получения справки о ключевом слове, процедуре, функции, свойстве или методе нужно установить курсор на соответствующем имени и нажать клавишу F1.

Окно просмотра объектов (Object Browser)

Окно просмотра объектов (обозреватель, браузер объектов) предназначено для выбора доступных программе библиотек и содержащихся в них классов, а также для получения информации об их структурах – составе библиотек, свойствах, методах и событиях выбранных классов. Кроме того, браузер объектов позволяет получить справку по каждому элементу и даже пример его использования.

Для вызова окна просмотра объектов нужно нажать клавишу F2 или дать команду View/ Object Browser. Окно отображается в области 4 главного окна редактора VBA, замещая окно формы или окно редактирования кода. Внешний вид браузера объектов показан на рис. 5.

1

3

2

Рис. 5. Внешний вид окна браузера Object Browser

39

Вокне просмотра объектов можно увидеть три области, условно обозначенные цифрами 1, 2, 3.

Влевой части области 1 расположены один под другим два раскрывающихся комбинированных списка. Верхний из них, Project/ Library, служит для просмотра имен доступных проектов и библиотек

ивыбора нужных из них. Нижний список предназначен для поиска требуемого элемента в билиотеках или проектах.

Для поиска нужно в окне верхнего списка (Project/Library) выбрать имя проекта или библиотеки (для поиска во всех библиотеках следует выбрать элемент списка All libraries). После определения области поиска нужно в окне списка задать имя искомого элемента и нажать кнопку поиска с изображением бинокля. Результаты поиска отображаются в специальном окне Search Results.

Вокне Classes отображаются классы выбранной библиотеки или проекта. В окне Members (Компоненты) видны свойства, методы и события выбранного класса.

Отображемые элементы, такие как библиотека, класс, проект, свойство, метод, событие, имеют собственные значки. Выбрав нужный элемент в окне Classes или Members и нажав кнопку с вопросительным знаком, можно получить справку по этому элементу.

При выделении строки в списке Members в нижней части окна просмотра объектов появляется окно Details, отображающее дополнительные сведения о выбранном элементе.

Это окно содержит гиперссылки, выбирая их можно получать следующие порции информации. Для свойств в этом окне указывается их тип, для методов – полное описание всех аргументов, включая обязательные и возможные.

Информацию из этого окна можно копировать в буфер обмена и вставлять в текст программы.

Это окно используется также для поиска метода или свойства выбранного объекта. Для этого в окне проводника проекта нужно выбрать требуемый модуль, в браузере объектов – библиотеку, в списке Classes выделить нужный элемент, а в списке Members of ‘ComboBox’ выбрать подходящий метод или свойство.

Для выбранного метода или свойства после нажатия на кнопку с вопросительным знаком, расположенную в области 1 окна браузера объектов, можно получить справку, содержащую подробную информацию о выделенном компоненте.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]