Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка_ПО_АРМ.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.22 Mб
Скачать
    1. Элементы проекта

Visual Basic for Application (VBA) позволяет создавать приложения (проекты), состоящие из модулей, форм и связанных с приложением объектов, относящихся к некоторому документу и сохранять проект вместе с самим документом. Модуль VBA содержит исходный код макроса, или программы, создаваемой пользователем. Каждая книга Excel может содержать один или несколько модулей, одну или несколько пользовательских форм, а может и не содержать никаких модулей и форм.

В VBA создание, редактирование, отладка и запуск на выполнение программ и макросов осуществляется средствами интегрированной среды разработки (средствами редактора VB). В окне проекта (Project Explorer) отображены все объекты, составляющие проект (модули, макросы, формы и т.д.) (см. рисунок 2).

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

Модуль — это именованная единица, состоящая из одной или нескольких процедур, а также объявлений, относящихся ко всем процедурам в модуле. Модуль добавляется в проект командой Insert/Module. Хотя VBA и допускает размещение всех процедур в одном модуле, имеет смысл разместить процедуры в нескольких модулях в соответствии с выполняемыми этими процедурами задачами, чтобы с ними было проще работать.

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

Под проектом в редакторе VB понимается набор всех программных модулей, связанных с документом МS Office (документом Word, рабочей книгой Excel, презентацией Power Point и т.д.). Проект может включать модули с процедурами обработки событий объектов приложения, стандартные модули с пользовательскими процедурами, модули классов и ссылки на другие проекты, позволяющие использовать их процедуры и данные.

Макрос – как последовательность команд пользователя, начинает записываться при выборе команды меню редактора VB Тооls/Macros и сохраняется под указанным именем при остановке записи. Макрос в VBA – это процедура, не требующая параметров, способная выполняться непосредственно путем вызова по имени либо из редактора VB, либо из VBA-приложения. В макросах при его записи, используются объекты приложения (объекты Word, Excel и т.п.), а переменные, операторы цикла – не присутствуют. Программный код макроса удобно использовать в качестве начального каркаса своей программы, с последующим добавлением в его программный код новых переменных и операторы, для реализации конкретной задачи.

    1. Автоматизация работы в ms Excel

1.2.15Объектная модель Excel. Ссылки на объекты

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

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

Рисунок 3 – Фрагмент объектной модели Excel.

Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта Application и заканчивается именем самого объекта. Например, полная ссылка на ячейку A1 рабочего листа Лист1 рабочей книги с именем Архив имеет вид:

Application.Workbooks("Архив").Worksheets("Лист1").Range("A1")

Приводить каждый раз полную ссылку на объект не обязательно. Можно ограничиться неявной ссылкой на объект. В неявной ссылке объекты, которые активны в данный момент, можно не указывать. В рассмотренном случае, если ссылка на ячейку А1 приводится в программе, выполняемой в среде Excel, то ссылка на объект Application может быть опущена:

Workbooks("Архив").Worksheets("Лист1").Range("A1")

Если рабочая книга Архив является активной, то ссылку можно записать еще короче:

Worksheets("Лист1").Range("А1")

Если и рабочий лист Лист1 активен, то в относительной ссылке вполне достаточно ограничиться упоминанием только диапазона А1:

Range("A1")