Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций КИТ 1 курс ГЭФ.doc
Скачиваний:
309
Добавлен:
22.02.2016
Размер:
3.02 Mб
Скачать
  1. Основы программирования на языке Visual Basic for Applications (vba). Модель объектов msExcel.

В модели объектов Excelимеется более 100 объектов. Наиболее часто используемыми объектамиExcelявляются объектыApplication,WorkbooksиWorkbook,WorksheetsиWorksheet,Range,Selection.

Коллекцияпредставляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа.

Объект Workbooksсодержит все открытые объектыWorkbook(рабочая книга).

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

Например, Worksheets(1) обозначает первый рабочий лист активной книги, аWorksheets(“Лист1”) - рабочий лист с именемЛист1.

Методы и Свойства

Объект.Метод

Пример: Application.Quit

Объект.Свойство = ЗначениеСвойства

Примеры: Application.Caption = “Пример”

MsgBox Worksheets.Count

Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Их имена в этом ряду разделяются точками. Ряд начинается с объекта Applicationи заканчивается именем самого объекта.

Пример: Application.Workbooks(“Архив”).Worksheets(“Продажа”).Range(“A1”)

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

  • Если программа выполняется в Excel, тоWorkbooks(“Архив”).Worksheets(“Продажа”).Range(“A1”)

  • Если рабочая книга Архивявляется активной, то ссылку можно сократить:Worksheets(“Продажа”).Range(“A1”)

  • Если рабочий лист Продажаактивен, тоRange(“A1”)

Объект Application– это главный (корневой) объект в иерархии объектовExcel, представляет само приложениеExcel. Он имеет огромное число свойств и методов, позволяющих установить общие параметры приложенияExcel.

Свойства объекта Application

  • ActiveWorkbook (активная рабочая книга)

  • ActiveSheet (активный рабочий лист)

  • ActiveCell (активная ячейка)

  • ActiveChart(активная диаграмма)

Пример:

With ActiveCell

.Font.Bold = True

.Value = “Отчет за Май”

End With

Caption – Возвращает или устанавливает текст из заголовка главного окнаExcel. Установка значения свойства равнымEmptyвозвращает заголовок, используемый по умолчанию.

  1. Application.Caption = “Отчет за 2000 год”

  2. Application.Caption =Empty

Метод Quit – Закрывает приложение.

Пример: Application.Quit

После объекта Applicationв иерархии объектовExcelследует коллекцияWorkbooks, которая содержит объектыWorkbook. ОбъектWorkbookпредставляет собой рабочую книгуExcel. Все открытые вExcelрабочие книги включены в коллекциюWorkbooks.

Свойства коллекции Workbooksи объектаWorkbook

  • Count- возвращает число объектов коллекцииWorkbooks.

  • Worksheets– возвращает коллекцию всех рабочих листов книги.

  • Charts– возвращает коллекцию всех диаграмм книги (которые не внедрены в рабочие листы)

Методы коллекции Workbooksи объектаWorkbook

  • Activate - активизирует рабочую книгу.

  • Add– создает новый объект в коллекцииWorkbooks.

  • Close –закрывает книги.

  • MsgBox Workbooks.Count

  • Workbooks(“Отдел кадров”).Activate

  • Workbooks(1).Close

  • Workbooks.Close

Обработка событий объекта Workbook

  1. Перейти в редактор VBA;

  2. В окошке Project Explorerвыбрать объектЭтаКнига и перейти в окошко кода для этого объекта;

  3. В верхнем левом списке выбрать объект Workbook;

  4. В верхнем правом списке выбрать необходимое событие.

Коллекция Worksheets включает в себя множество всех объектовWorksheet (рабочий лист) в рабочей книге. В иерархииExcelобъектWorksheetsидет сразу после объектаWorkbook.

Свойства коллекции Worksheetsи объектаWorksheet

  • Name – возвращает или устанавливает имя рабочего листа.

  • Visible– возвращаетTrue, если объект – видимый.

  • Cells– возвращает коллекцию всех ячеек рабочего листа.

  • Columns, Rows– возвращает коллекцию всех столбцов и строк рабочего листа.

Методы коллекции Worksheetsи объектаWorksheet

  • Activate – активизирует рабочий лист.

  • Add– создает новый рабочий лист.

  • Delete – удаляет рабочий лист.

  • Worksheets(1).Name = “Декабрь”

  • Workbooks(1).Worksheets(3).Cells(1,3).Font.Size = 20

  • Worksheets(“Итоги”).Activate

  • ActiveSheet.Delete

  • Worksheets(3).Add

  • Activate – активизирует рабочий лист.

  • Add– создает новый рабочий лист.

  • Delete – удаляет рабочий лист.

  • Worksheets(1).Name = “Декабрь”

  • Workbooks(1).Worksheets(3).Cells(1,3).Font.Size = 20

  • Worksheets(“Итоги”).Activate

  • ActiveSheet.Delete

  • Worksheets(3).Add

Обработка событий объекта Worksheet

  1. Перейти в редактор VBA;

  2. В окошке Project Explorerвыбрать объектЛист1 (или другой лист) и перейти в окошко кода для этого объекта;

  3. В верхнем левом списке выбрать объект Worksheet;

  4. В верхнем правом списке выбрать необходимое событие.

События объекта Worksheet

  • Activate– при активизации рабочего листа.

  • BeforeDoubleClick– при двойном щелчке по рабочему листу.

  • Calculate – при пересчете рабочего листа.

  • Change– при изменении содержимого ячейки пользователем.

  • Deactivate– когда рабочий лист теряет фокус.

  • SelectionChange– при изменении выделенного диапазона ячеек.

Объект Range

В иерархии ExcelобъектRange(диапазон), один из ключевых объектовVBA,следует сразу после объектаWorksheet. ОбъектRangeможет представлять собой ячейку, строку, столбец или диапазон ячеек.

Объект Selection

Объект Selection– это любые выделенные ячейки на рабочем листе. При работе с объектомSelectionможно использовать свойства и методы объектаRange. Для определения объектаSelectionможно использовать методSelect.

Задание группы строк и столбцов

  1. Range(“A:C”) – задает диапазон, состоящий из столбцовA,BиC.

  2. Range(“2:2”) – задает диапазон состоящий из второй строки.

  3. Range(“2:5”) – задает диапазон состоящий из 2, 3, 4, 5 строки.

  4. Rows(2)– задает вторую строку.

  5. Columns (1)– задает столбец А.

Связь объекта Rangeи свойстваCellsобъектаWorksheet

  1. Range(“A2”) – задает ячейку A2.

  2. Cells(1,2)– задает ячейкуB1.

  3. Range(“A2:C3”)– задает диапазон ячеекA2:C3.

  4. Range(“A2:C3, A5:C6”) – задает диапазон ячеек A2:C3 и A5:C6.

  5. Range(Cells(1,2), Cells(3,3)) – задает диапазон ячеек B1:C3.

  6. Range(“B2:D4”).Select Selection.Cells(2,2).Value = 2 – значение 2 вводится в ячейку C3.

Свойства объекта Range

  • Value– возвращает или устанавливает значение в ячейках диапазона.

  • Interior– возвращает объект, представляющий собой фон ячейки. СвойствоColorIndexэтого объекта задает цвет фона (от 1 до 56: 1-черный, 2-белый, 3-красный, 4-зеленый, 5-синий, 6-желтый, 7-фиолетовый ).

  • Font– возвращает объект, представляющий собой шрифт. Свойства:Name,FontStyle(Regular(обычный),Bold(жирный),Italic(курсив)),Size,ColorIndex.

  • Formula– возвращает или устанавливает формулу в форматеA1.

  • Address – возвращает адрес ячейки.

Примеры:

X=Range(“C1”).Value‘X- переменная

Range(“A1:B3”).Value = 1

With Range (“A1:B2”).Font .Size = 14 : .FontStyle = “Bold” : .ColorIndex = 3 End With

  • Range(“A1”).Formula = “=$A$4 + $A$10”

Методы объекта Range

  • Activate – активизирует ячейку.

  • Clear – очищает диапазон.

  • Copy– копирует диапазон в другой диапазон или в буфер обмена.

  • Delete – удаляет диапазон.

  • Select – выделяет диапазон.

Примеры:

Range(“A1:B3”).Clear

Range (“A1:D4”).Copy Worksheets(“Лист2”).Range(“E5”)

Rows(3).Delete

Range(“A1:C3”).Select : Range(“B1”).Activate