Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Добавление нового модуля VBA

Чтобы добавить в проект новый модуль VBA, выделите название проекта в окне Project Explorer и выберите команду lnsert - Module (Вставка - Модуль). Также можно щелкнуть правой кнопкой мыши на названии проекта и выбрать команду Insert - Module в контекстном меню. При записи макроса Excel автоматически вставляет модуль VBA для хранения записанного кода.

 


Удаление модуля VBA

Чтобы удалить из проекта модуль VBA или модуль класса, выделите название модуля в окне Project Explorer и используйте команду File - Remove ххх (где ххх— название моду­ля). Кроме того, вы можете щелкнуть правой кнопкой мыши на названии модуля и выбрать команду Remove ххх из контекстного меню.

 

Экспорт и импорт объектов

За исключением объектов, перечисленных в узле References, каждый объект в проекте можно сохранить в отдельном файле. Сохранение отдельного объекта в проекте называется экспортом. Соответственно, вы можете также импортировать объекты в проект. Экспорт и импорт объектов полезен, если уже существующий объект (например, модуль VBA или фор­му UserForm) можно использовать в другом проекте.

Чтобы экспортировать объект, выберите его в окне Project Explorer и выполните команду File - Export File (или нажмите <Ctrl+E>). При этом отображается диалоговое окно, запра­шивающее имя файла. Обратите внимание, что сам объект остается в проекте (а экспортиру­ется только его копия). Если вы экспортируете объект UserForm, экспортируется также весь код, связанный с формой UserForm.

Чтобы импортировать файл в проект, выберите имя проекта в окне Project Explorer и вы­полните команду File - Import File. Появится диалоговое окно, в котором необходимо указать имя файла. Вы можете импортировать только те файлы, которые экспортированы с помощью команды File—Export File.

Если вы решили скопировать в другой проект модуль или объект UserForm, не обязательно использовать функции экспорта и импорта. Убедитесь, что оба проек­та открыты, затем активизируйте окно Project Explorer и перетащите необходимый объект из одного проекта в другой.


Работа с окнами кода

Каждому объекту в проекте соответствует свое окно кода. Такими объектами могут быть:

• сама рабочая книга (ЭтаКнига в окне Project Explorer);

• рабочий лист или лист диаграмм рабочей книги (например. Лист1 или Диаграмме 1 в окне Project);

• модуль VBA;

• модуль класса (специальный тип модуля, позволяющий создавать новые классы объектов);

• форма UserForm.

 

Сохранение программы VBA

Как правило, окно кода содержит четыре типа кода.

• Процедуры (процедуры Sub). Процедура — это набор инструкций, выполняющих оп­ределенное действие.

• Процедуры функции. Функция — это набор инструкций, возвращающий значение или массив значений (концепция функции VB А подобна такой же функции Excel).

• Процедуры свойств. Специальные процедуры, используемые в модулях классов.

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

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

Несмотря на то, что предоставляются широкие возможности по определению места хранения кода VBA, существуют некоторые ограничения на его расположе­ние. Процедуры обработки событий должны содержаться в окне кода объекта, ко­торому соответствует это событие. Например, если вы пишете процедуру, которая выполняется при открытии рабочей книги, то эта процедура должна располагать­ся в окне кода для объекта ЭтаКнига и иметь специальное название.

Введение кода VBA

Для того чтобы выполнить одно из действий программным образом, необходимо напи­сать программу VBA в окне кода. Код VBA располагается в процедуре. Процедура состоит из операторов VBA. На данном этапе (для примера) остановимся только на одном типе окна ко­да: модуль VBA.

Вы можете добавить код в модуль VBA тремя способами.

• Ввести код традиционным способом: с клавиатуры.

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

• Скопировать текст программы из другого модуля и вставить его в модуль, над кото­рым работаете.

 

Ввод кода вручную

Иногда самый простой путь является наилучшим. Непосредственное введение кода связа­но с использованием клавиатуры, т.е. вы вводите код программы с помощью клавиатуры. Клавиша <Таb> при этом используется с целью задать отступ в строках, которые логически принадлежат одной группе (например, условные операторы If и End If)- Это совершенно не обязательно, но помогает быстрее освоить программу, анализируя ее блочную структуру. Именно поэтому подобный подход в программировании называется '"хорошим стилем".

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

Отдельная инструкция в VBA может иметь произвольную длину. Однако, чтобы обеспе­чивать удобочитаемость кода, длинные инструкции лучше разбить на две или более строк. Для этого следует в конце строки ввести пробел и символ подчеркивания, а затем нажать <Enter> и продолжить инструкцию в следующей строке. Например, ниже приведен один опе­ратор VBA, разбитый на четыре строки.

MsgBox "Невозможно найти" & UCase(SHORTCUTMENUFILE) _

 & vbCrLf & vbCrLf & "Файл должен находиться в _

 " & ThisWorkbook.Path & vbCrLf & vbCrLf & _

"Возможно, требуется переустановить BudgetMan", v b С г i t i с a 1, APPNAME

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

Как и в Excel, в VBE есть несколько уровней отмены выполненных операций. По­этому, если вы по ошибке удалили инструкцию, можете несколько раз щелкнуть на кнопке Undo (Отменить) или нажать <Ctrl+Z>, и инструкция вновь появится в коде. После отмены операции можно щелкнуть на кнопке Redo (Вернуть), чтобы вернуть изменения, которые ранее отменены. Эта функция поможет исправить критически важные ошибки, поэтому не пренебрегайте ее использованием.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...