Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012_Лекция_VBA-1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.2 Mб
Скачать

Введение в vba Создание приложений на языке

Visual Basic for Applications (VBA)

Visual Basic for Applications (VBA) — среда визуального объектно-ориентированного программирования для создания прикладных программ в среде Microsoft Office.

С помощью VBA:

  • создаются объекты управления графического интерфейса пользователя;

  • задаются и изменяются свойства объектов;

  • подключается соответствующий программный код.

Создание приложений на языке visual basic for applications (vba)

Visual Basic for Applications (VBA) - среда визуального объектно-ориентированного программирования для создания прикладных программ в среде Microsoft Office.

С помощью VBA:

  • создаются объекты управления графического интерфейса пользователя;

  • задаются и изменяются свойства объектов;

  • подключается соответствующий программный код.

Методика программирования с использованием средств VBA сводится к следующему:

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

  • разработка процедур, используемых при вызове объектов.

Прикладные программы на языке VBA оперируют со следующими понятиями:

  • объект управления и контроля;

  • свойство (параметр);

  • значение свойства;

  • событие;

  • метод доступа;

  • процедура

Основные классы VBA в Excel

Имя класса

Вид объектов в классе

Sheets

Все листы любых типов в рабочей книге

Workbooks

Все текущие открытые рабочие книги

Worksheets

Все листы (таблицы) в рабочей книге

Charts

Все листы диаграмм в рабочей книге

Range

Диапазон ячеек таблицы (строк, столбцов, несмежных ячеек)

Доступ к экземпляру класса осуществляется двумя способами:

  • по номеру экземпляра Workbooks(" Имя_книги"). Worksheets(2)

  • по имени экземпляра Workbooks("Имя_книги").Worksheets("Имя-листа")

Классы обладают следующими свойствами:

  • Count - определяет число экземпляров в классе;

  • Name - определяет имя экземпляра;

  • Parent - определяет имя объекта, включающего данный класс.ПРИМЕРЫ:

Фрагмент программного кода

Результат

Комментарий

a = Worksheets(1).Name

MsgBox (a)

В переменную a заносим свойство Name листа с порядковым номером 1 и выводим значение этого свойства в окне. Выводится имя первого листа открытой книги.

a = Worksheets.Count

MsgBox (a)

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

a = Worksheets.Parent.Name

MsgBox (a)

В переменную a заносим свойство Parent.Name рабочих листов открытой книги и выводим значение этого свойства в окне. Выводится имя книги, в которой находятся данные листы.

Worksheets(1).Name = "labVBA"

MsgBox (Worksheets(1).Name)

В свойство Name листа с порядковым номером 1 заносим новое имя labVBA и выводим значение этого свойства в окне.

Методы

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

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

Для добавления и удаления экземпляров класса используют методы Add и Delete.

ПРИМЕРЫ:

Фрагмент программного кода

Комментарий

Workbooks(“mybook.xls”).Close

Вызывается метод Close. Закрыть книгу mybook.xls

Workbooks(“mybook.xls”).Close saveChanges:= True

Вызывается метод Close (закрыть книгу) mybook.xls c одним аргументом, передаваемым по имени

Worksheets(1).Protect

Лист 1 становится защищенным от записи

Доступ к отдельным ячейкам таблицы:

  • Cells - в качестве аргументов указываются два целых числа, определяющих место положения отдельной ячейки таблицы:

Cells (число1, число2)

Примеры: Cells(1,2).Value=5 - присваивает ячейке В1 текущего рабочего листа активной рабочей книги значение 5;

Cells(2,1).Formula="=SUM(B1:B5)" - записывает в ячейку А2 формулу суммирования значений в ячейках В1:В5;

  • Range - работа с прямоугольной областью ячеек:

Примеры: Worksheets(1).Range("A1:B2").Value = 10 - присваивание блоку ячеек постоянного значения, равного 10;

Range("D15").Value = "Test" - присваивание ячейке текущего рабочего листа активной рабочей книги значения Test;

R ange("Criteria").ClearContents - очистка содержимого именованного блока ячеек текущего рабочего листа активной рабочей книги

(Чтобы именовать группу ячеек, их нужно выделить и выполнить команду Вставка / Имя / Присвоить)

Можно использовать форму записи Range(Cells(1, 1), Cells(2, 2)).Value = 4

  • Offset - в качестве аргументов передаются два числа, указывающие местоположение ячейки относительно верхнего левого угла указанной области:

П ример: Selection.Offset(2,5).Select - относительно текущей ячейки (например, А1) происходит смещение на 2 строки и 5 столбцов (в ячейку F3).

  • Union - метод множественного выделения областей ячеек:

Uniоn(область1, область2)

Каждую область формируют с помощью метода Range

Пример:

Union(Range(Cells(1, 1), Cells(2, 2)), Range(Cells(5, 5), Cells(7, 7))).Select

- выделяет области ячеек: А1:B2,E5:G7

Для написания программного кода используется редактор Visual Basic Editor (VBE). Начало работы с редактором VBE: Microsoft Excel /Сервис/ Макрос/ Редактор Visual Basic.

Создание программного модуля в составе рабочей книги: Insert / Module (рис. 15).

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

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