Введение в Visual Basic for Applications
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Разработка программного кода на языке Visual Basic for Applications выполняется практически полностью в редакторе VBA.

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

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

Модули

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

При записи макроса в Excel можно определять только рабочую книгу, в которой Excel сохраняет записанный макрос: текущую рабочую книгу, новую рабочую книгу или рабочую книгу Personal. xls. Excel выбирает модуль, в котором сохраняется записанный макрос, и при необходимости создает этот модуль. Правила выбора модуля, в котором сохраняется записанный макрос, в Excel являются достаточно сложными.

Когда Excel создает модуль, в котором сохраняется записанный макрос, модулю присваивается имя ModuleN, где N — это количество модулей, созданных для определенной рабочей книги во время текущего сеанса работы. Например, в первый раз, когда вы сохраняете записанный макрос в Personal. xls (личной книге макросов), Excel создает модуль с именем Module1. Если вы продолжаете записывать макросы в том же сеансе работы и сохранять их в Personal. xls, Excel продолжает сохранять записанные макросы в том же модуле Module1 до тех пор, пока вы не выберете другую рабочую книгу. Если позже в том же сеансе работы вы опять захотите сохранить записанные макросы в Personal. xls, Excel добавляет другой модуль с именем Module2 в эту книгу.

Если какая-либо рабочая книга уже содержит модуль с тем же именем, что выбран в Excel для нового модуля, Excel увеличивает число в имени модуля до тех пор, пока имя нового модуля не будет отличаться от имен существующих модулей. Например, если вы начнете новый сеанс работы в Excel и затем захотите сохранить записанный рекордером макрос в книге Personal. xls, Excel сначала выбирает имя Module1 для нового модуля. Если же книга Personal. xls уже содержит модули с именами Module1 и Module2, Excel увеличивает число в имени модуля, чтобы оно не совпадало с существующими именами; новый модуль получает имя Module3.

Редактор Visual Basic

Excel предусматривает полноценную среду разработки - Visual Basic Editor (Редактор Visual Basic). С ее помощью можно создавать, редактировать, отлаживать и запускать программы.

Для просмотра модулей, сохраненных в определенной рабочей книге и исходного кода макроса, который они содержат, необходимо использовать именно этот компонент Excel - редактор Visual Basic. Редактор Visual Basic предоставляет инструментальные средства, которые используются для создания новых модулей, просмотра содержимого существующих модулей, создания и редактирования исходного кода макроса, создания пользовательских диалоговых окон и выполнения других задач, относящихся к написанию и обслуживанию программ на VBA.

Запуск Редактора VBА

Редактор VB запускается несколькими способами. Один из них - следующий:

· выбрать в основном приложении команду Сервис ÞМакрос Þ Редактор VBA (в нерусифицированных версиях - Tools ÞMacro ÞVisual Basic);

нажать сочетание клавиш Alt+F11.

Какой бы способ не был использован, Excel запустит Редактор Visual Basic. На рисунке 1 показано типичное окно редактора Visual Basic, отображенное в Excel.

Обычно редактор редактора Visual Basic отображает три дочерних окна, каждое из которых содержит важную информацию о проекте VBA. Каждое из окон редактора отображается по умолчанию в прикрепленных положениях, показанных на рисунке 1.

 

Рис. 1. Окно редактора VBA

 

Если возникает необходимость, можно переместить любое из дочерних окон редактора VB в любое место на экране, перетаскивая строку заголовка этого окна таким же образом, каким перемещают обычно любое окно на рабочем столе Windows. Можно также изменять размер любого из дочерних окон редактора VB, расширяя или уменьшая рамку окна для увеличения или уменьшения его размера, что подобно изменению размера любого окна на рабочем столе Windows.

Далее рассмотрим некоторые окна редактора VB и их назначение.


Окно свойств

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

Окно проекта

Окно проекта - это специальное окно редактора VBA, в котором выводятся все элементы проекта VBA. Элементы отображаются в виде иерархической структуры, включающей все формы, модули, объекты основного приложения (рабочие листы, шаблоны, документы и т.д.). Представление элементов в виде дерева упрощает их просмотр и выбор. Открыть окно проекта можно командой Вид ÞОкно проекта, или сочетанием клавиш CTRL+R. Для выбора и редактирования объекта, выведенного в окне проекта, достаточно дважды щелкнуть по имени объекта.

 

 

Рис. 2 Окно проекта в редакторе VBA

 


Окно модуля

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

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

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

Открытие окна модуля возможно·из окна проекта путем выбора имени модуля и нажатия кнопки Открыть.

Под строкой заголовка этого окна находится два списка (рис. 2). В первом списке выводятся все объекты модуля, а во втором – список процедур, связанных с выбором объекта.

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

Поле процедур/событий - отображает список всех распознаваемых Visual Basic событий для формы или элемента управления, выведенного в поле объекта. При выборе события в окне модуля отображается соответствующая этому событию процедура.

 

Рис. 3 Окно модуля в редакторе VBA

 

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

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

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

Листы модуля и рабочие таблицы – это совершенно разные понятия. На самом деле лист модуля больше напоминает окно документа текстового процессора, приспособленного для подготовки текстов программ. Так, для внесения изменений можно использовать команды Вырезать ( Cut ), Копировать ( Copy ), Вставить ( Paste ) либо из меню Правка, либо из контекстного меню, отображаемого при щелчке правой кнопкой мыши по окну модуля.

Допускается перемещение выделенного текста с помощью мыши:

· В другое место текущего окна модуля.

· В другое окно модуля.

· В окно проверки или отладки.

· В корзину.


Дата: 2019-04-23, просмотров: 178.