Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_Lektsia_VBA-1.doc
Скачиваний:
30
Добавлен:
29.05.2015
Размер:
1.25 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.xlscодним аргументом, передаваемым по имени

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;

Range("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 и порядковым номером программного модуля в рабочей книге.

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