Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Основные объекты excel

Основные объекты excel

5.4 Основные объекты приложения MS Excel

Объектная модель Microsoft Excel насчитывает множество объектов. В рамках настоящего пособия не ставится цель изучить все из них. Для разработки большинства программ достаточно знать основные из них, такие как Application, Workbook(s), Worksheet(s), Range, Chart.

Различают объекты и их семейства. Семейство (объект Collection) представляет собой объект, содержащий в себе несколько других объектов одного типа. Все объекты Excel и их семейства имеют родовые иерархические отношения. Иерархия основных объектов MS Excel приведена на рисунке 5.12.

Главным в иерархии объектов Excel является объект Application (Приложение), которое представляет само приложение Excel. Этот объект имеет более 120 свойств и 40 методов, которые предназначены для установки параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:

Application.ФункцияРабочегоЛиста(Аргументы)

Application.Pi() ‘ Вычисление числа Пи.

Application.Sum( Аргументы)

Подчиненными объектами в иерархии объектов являются: объекты семейств WorkBooks (рабочие книги), Worksheets (рабочие листы), Range (Диапазон).

Рис. 5.12. Иерархия встроенных объектов MS Excel

Как было отмечено в п.п. I.3, с уществует следующий формат программного кода, задающего установку свойства и использование метода объекта:

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

Объект. Метод [ Параметр1 […]]

Если Х является свойством — участником объекта Application, то обращение к этому свойству возвращает ссылку на объект X. Обращение Application.X.Y.Z, где X, Y и Z — свойства-участники, позволяет добраться до объекта Z, находящегося на третьем уровне вложенности. Обычно цепочка именования начинается спецификатором (объектом) Application, но иногда его можно опустить. Некоторые свойства и методы объекта Apiplication относятся к глобальным. Для них спецификатор Application разрешается опускать, непосредственно именуя глобальный элемент. Вот пример нескольких обращений к элементам объекта Application: Application. ActiveDocument

ActiveDocument

ActiveSheet

Можно указать и полный путь: Application. ActiveSheet

5.5 Объект Application , основные свойства, методы и события

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

Описание и допустимые значения

ActiveWorkbook, ActiveSheet, ActiveCell, ActiveChart

Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму.

Свойство ActiveCell содержится в ActiveSheet, а свойства ActiveSheet и ActiveChart в ActiveWorkbook. Например,: ActiveCell.Value = «Новое значение» присваивает значение активной ячейке.

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

Устанавливает режим вычислений. Возможные значения: xlCalculationAutomatic (автоматический режим), xlCalculationManual (вручную).

Возвращает текст в строке имени активного окна.

True (False)–строка формул выводится (не выводится) на экран

True (False)- полосы прокрутки видны (не видны) в окне Excel

Если равно True , то изображение на экране обновляется во время выполнения программы, если False – то нет.

True (False)- строка состояний видна (не видна) в окне Excel

Основные методы объекта Application

Вызывает принудительные вычисления во всех открытых рабочих книгах

Запускает на выполнение подпрограмму или макрос: Run (ИмяМакроса, Аргументы)

Вызывает перевычисление функции пользователя при изменении значений параметров. Оператор Application.Volatile нужно поместить в теле функции.

Временно приостанавливает работу приложения: Wait (Time)

Назначает выполнение процедуры на определенное время: OnTime(ВремяЗапуска, ИмяПоцедуры, …)

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

При создании новой рабочей книги

При активизации рабочей книги

Перед закрытием рабочей книги

Перед сохранением рабочей книги

Когда рабочая книга теряет фокус

При добавлении нового листа в рабочую книгу

При открытии рабочей книги

5.6 Основные свойства, методы и события семейства WorkBooks

Объект Workbook – это файл рабочей книги. Получить объект Workbook можно используя свойства Workbooks, ActiveWorkbook или ThisWorkbook объекта Application.

Основные свойства объектов семейства Workbooks

Описание и допустимые значения

Возвращает активный лист книги

Возвращает активную диаграмму

Возвращает количество объектов семейства

True (False) – документ закрыт (открыт) для записи.

Sheets, Worksheets, Charts

Возвращают семейства всех рабочих листов книги и всех диаграмм соответственно.

Основные методы объектов семейства Workbooks

Методы

Активизирует рабочую книгу (первый лист становится активным).

Создает новую рабочую книгу.

Close, Open, OpenText

Закрытие (открытие) рабочей книги, открытие текстового файла с таблицей данных. Например, рабочая книга закрывается без сохранения :

Workbooks(«B ook1 . xls «).Close SaveChanges:= False

Открытие рабочей книги :

Workbooks.Open «B ook1 . xls «

Сохранение рабочей книги (сохранение в другом файле). Например, запросить у пользователя имя файла и сохранить активную рабочую книгу можно кодом программы:

fName= A pplication.GetSaveAsFilename

ActiveWorkbook.SaveAs Filename : =fName

События объектов семейства Workbooks

Перед закрытием рабочей книги.

Перед сохранением рабочей книги.

Когда рабочая книга теряет фокус.

При добавлении нового листа в рабочую книгу.

При открытии рабочей книги.

При активизации рабочего листа.

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

Упражнение 4.

Свойства и методы объектов Application, Workbooks.

1. На рабочем листе с именем Лист1 поместите кнопку формы.

2. Назначьте для этой кнопки макрос с именем Кнопка1_Щелкнуть.

3. В окне редактирования кода редактора Visual Basic запишите следующий программный код :

Option Explicit

Sub Кнопка1_Щелкнуть()

‘ Изменение надписи в строке заголовка приложения

Application.Caption = «Упражнение №4 — Свойства, методы и _

события»

MsgBox «Обратите внимание! Изменилась надпись в строке _

заголовка приложения», vbInformation

‘Убираем строку формул

Application.DisplayFormulaBar = False

MsgBox «Обратите внимание! Строка формул не отображается» _

, vbInformation

‘Убираем панель состояний

Application.DisplayStatusBar = False

MsgBox «Обратите внимание! Панель состояний не _

отображается» , vbInformation

Application.DisplayStatusBar = True

MsgBox «Обратите внимание! Панель состояний вновь _

отображается» , vbInformation

‘Изменение размера окна приложения

Application.WindowState = xlNormal

MsgBox «Обратите внимание! Размер окна приложения _

стал нормальным», vbInformation

Application.WindowState = xlMinimized

MsgBox «Обратите внимание! Размер окна приложения _

стал минимальным» , vbInformation

Application.WindowState = xlMaximized

MsgBox «Обратите внимание! Размер окна приложения _

стал вновь максимальным», vbInformation

‘Создание новой рабочей книги

‘Workbooks.Add

MsgBox «Обратите внимание! Создана новая рабочая книга» _

, vbInformation

‘Активизация созданной рабочей книги

Workbooks(«Книга2»).Activate

End Sub

4. Прочитайте все команды программы и попытайтесь понять их назначение и синтаксис записи. Обратите внимание на текст комментариев.

5. Запустите макрос на выполнение.

6. Проследите за тем, какие действия выполняет программа.

7. Сопоставьте команды программы и выполняемые ей действия

Объекты Excel

Термин Объекты Excel (понимаемый в широком смысле, как объектная модель Excel) включает в себя элементы, из которых состоит любая рабочая книга Excel. Это, например, рабочие листы (Worksheets), строки (Rows), столбцы (Columns), диапазоны ячеек (Ranges) и сама рабочая книга Excel (Workbook) в том числе. Каждый объект Excel имеет набор свойств, которые являются его неотъемлемой частью.

Например, объект Worksheet (рабочий лист) имеет свойства Name (имя), Protection (защита), Visible (видимость), Scroll Area (область прокрутки) и так далее. Таким образом, если в процессе выполнения макроса требуется скрыть рабочий лист, то достаточно изменить свойство Visible этого листа.

В Excel VBA существует особый тип объектов – коллекция. Как можно догадаться из названия, коллекция ссылается на группу (или коллекцию) объектов Excel. Например, коллекция Rows – это объект, содержащий все строки рабочего листа.

Доступ ко всем основным объектам Excel может быть осуществлён (прямо или косвенно) через объект Workbooks, который является коллекцией всех открытых в данный момент рабочих книг. Каждая рабочая книга содержит объект Sheets – коллекция, которая включает в себя все рабочие листы и листы с диаграммами рабочей книги. Каждый объект Worksheet состоит из коллекции Rows – в неё входят все строки рабочего листа, и коллекции Columns – все столбцы рабочего листа, и так далее.

В следующей таблице перечислены некоторые наиболее часто используемые объекты Excel. Полный перечень объектов Excel VBA можно найти на сайте Microsoft Office Developer (на английском).

Читать еще:  Формула подсчета слов в ячейке excel
ОбъектОписание
ApplicationПриложение Excel.
WorkbooksКоллекция всех открытых в данный момент рабочих книг в текущем приложении Excel. Доступ к какой-то конкретной рабочей книге может быть осуществлён через объект Workbooks при помощи числового индекса рабочей книги или её имени, например, Workbooks(1) или Workbooks(“Книга1”).
WorkbookОбъект Workbook – это рабочая книга. Доступ к ней может быть выполнен через коллекцию Workbooks при помощи числового индекса или имени рабочей книги (см. выше). Для доступа к активной в данный момент рабочей книге можно использовать ActiveWorkbook.

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

SheetsОбъект Sheets– это коллекция всех листов рабочей книги. Это могут быть как рабочие листы, так и диаграммы на отдельном листе. Доступ к отдельному листу из коллекции Sheets можно получить при помощи числового индекса листа или его имени, например, Sheets(1) или Sheets(“Лист1”).
WorksheetsОбъект Worksheets – это коллекция всех рабочих листов в рабочей книге (то есть, все листы, кроме диаграмм на отдельном листе). Доступ к отдельному рабочему листу из коллекции Worksheets можно получить при помощи числового индекса рабочего листа или его имени, например, Worksheets(1) или Worksheets(“Лист1”).
WorksheetОбъект Worksheet – это отдельный рабочий лист книги Excel. Доступ к нему можно получить при помощи числового индекса рабочего листа или его имени (см. выше).

Кроме этого Вы можете использовать ActiveSheet для доступа к активному в данный момент рабочему листу. Из объекта Worksheet можно получить доступ к объектам Rows и Columns, которые являются коллекцией объектов Range, ссылающихся на строки и столбцы рабочего листа. А также можно получить доступ к отдельной ячейке или к любому диапазону смежных ячеек на рабочем листе.

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

Доступ к диапазону, состоящему из единственной ячейки, может быть осуществлён через объект Worksheet при помощи свойства Cells, например, Worksheet.Cells(1,1).

По-другому ссылку на диапазон можно записать, указав адреса начальной и конечной ячеек. Их можно записать через двоеточие или через запятую. Например, Worksheet.Range(“A1:B10”) или Worksheet.Range(“A1”, “B10”) или Worksheet.Range(Cells(1,1), Cells(10,2)).

Обратите внимание, если в адресе Range вторая ячейка не указана (например, Worksheet.Range(“A1”) или Worksheet.Range(Cells(1,1)), то будет выбран диапазон, состоящий из единственной ячейки.

Приведённая выше таблица показывает, как выполняется доступ к объектам Excel через родительские объекты. Например, ссылку на диапазон ячеек можно записать вот так:

Присваивание объекта переменной

В Excel VBA объект может быть присвоен переменной при помощи ключевого слова Set:

Активный объект

В любой момент времени в Excel есть активный объект Workbook – это рабочая книга, открытая в этот момент. Точно так же существует активный объект Worksheet, активный объект Range и так далее.

Сослаться на активный объект Workbook или Sheet в коде VBA можно как на ActiveWorkbook или ActiveSheet, а на активный объект Range – как на Selection.

Если в коде VBA записана ссылка на рабочий лист, без указания к какой именно рабочей книге он относится, то Excel по умолчанию обращается к активной рабочей книге. Точно так же, если сослаться на диапазон, не указывая определённую рабочую книгу или лист, то Excel по умолчанию обратится к активному рабочему листу в активной рабочей книге.

Таким образом, чтобы сослаться на диапазон A1:B10 на активном рабочем листе активной книги, можно записать просто:

Смена активного объекта

Если в процессе выполнения программы требуется сделать активной другую рабочую книгу, другой рабочий лист, диапазон и так далее, то для этого нужно использовать методы Activate или Select вот таким образом:

Методы объектов, в том числе использованные только что методы Activate или Select, далее будут рассмотрены более подробно.

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

Каждый объект VBA имеет заданные для него свойства. Например, объект Workbook имеет свойства Name (имя), RevisionNumber (количество сохранений), Sheets (листы) и множество других. Чтобы получить доступ к свойствам объекта, нужно записать имя объекта, затем точку и далее имя свойства. Например, имя активной рабочей книги может быть доступно вот так: ActiveWorkbook.Name. Таким образом, чтобы присвоить переменной wbName имя активной рабочей книги, можно использовать вот такой код:

Ранее мы показали, как объект Workbook может быть использован для доступа к объекту Worksheet при помощи такой команды:

Это возможно потому, что коллекция Worksheets является свойством объекта Workbook.

Некоторые свойства объекта доступны только для чтения, то есть их значения пользователь изменять не может. В то же время существуют свойства, которым можно присваивать различные значения. Например, чтобы изменить название активного листа на “Мой рабочий лист“, достаточно присвоить это имя свойству Name активного листа, вот так:

Методы объектов

Объекты VBA имеют методы для выполнения определённых действий. Методы объекта – это процедуры, привязанные к объектам определённого типа. Например, объект Workbook имеет методы Activate, Close, Save и ещё множество других.

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

Как и другие процедуры, методы могут иметь аргументы, которые передаются методу при его вызове. Например, метод Close объекта Workbook имеет три необязательных аргумента, которые определяют, должна ли быть сохранена рабочая книга перед закрытием и тому подобное.

Чтобы передать методу аргументы, необходимо записать после вызова метода значения этих аргументов через запятую. Например, если нужно сохранить активную рабочую книгу как файл .csv с именем “Книга2”, то нужно вызвать метод SaveAs объекта Workbook и передать аргументу Filename значение Книга2, а аргументу FileFormat – значение xlCSV:

Чтобы сделать код более читаемым, при вызове метода можно использовать именованные аргументы. В этом случае сначала записывают имя аргумента, затем оператор присваивания “:=” и после него указывают значение. Таким образом, приведённый выше пример вызова метода SaveAs объекта Workbook можно записать по-другому:

В окне Object Browser редактора Visual Basic показан список всех доступных объектов, их свойств и методов. Чтобы открыть этот список, запустите редактор Visual Basic и нажмите F2.

Рассмотрим несколько примеров

Пример 1

Этот отрывок кода VBA может служить иллюстрацией использования цикла For Each. В данном случае мы обратимся к нему, чтобы продемонстрировать ссылки на объект Worksheets (который по умолчанию берётся из активной рабочей книги) и ссылки на каждый объект Worksheet отдельно. Обратите внимание, что для вывода на экран имени каждого рабочего листа использовано свойство Name объекта Worksheet.

Пример 2

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

В коде, приведённом ниже, для объекта Range вызывается метод PasteSpecial. Этот метод передаёт аргументу Paste значение xlPasteValues.

Пример 3

Следующий отрывок кода VBA показывает пример объекта (коллекции) Columns и демонстрирует, как доступ к нему осуществляется из объекта Worksheet. Кроме этого, Вы увидите, что, ссылаясь на ячейку или диапазон ячеек на активном рабочем листе, можно не указывать этот лист в ссылке. Вновь встречаем ключевое слово Set, при помощи которого объект Range присваивается переменной Col.

Данный код VBA показывает также пример доступа к свойству Value объекта Range и изменение его значения.

Объекты Excel

Оглавление

Москва 2007

Курс лекций

Муратова С.Ю.

Кафедра автоматизированных систем управления

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГТУ «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ СТАЛИ И СПЛАВОВ»

Информатика и вычислительная техника

Макросы и приложения

1. Объекты Excel 6

1.1. Объекты, их свойства и методы.. 6

1.1.1. Свойства: присвоение и использование значений. 6

1.1.2. Примеры методов рабочей книги Excel 8

1.1.2.1. Вызов метода. 8

1.1.2.2. Передача аргумента в метод. 9

1.2. Ссылки: одиночные объекты и семейства. 10

1.2.1. Семейства как объекты.. 12

1.2.2. Ссылка на объект. 12

1.2.3. Исключение: объект Range 13

1.3. Иерархия объектов Excel 14

1.3.1. Иерархическая структура. 15

1.3.2. Доступ к объектам через свойства и методы.. 17

1.4. Объект Application. 18

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

1.4.2. Методы объекта Application. 19

1.5. Объект Workbook и семейство Workbooks. 20

1.5.1. Свойства объекта Workbook и семейства Workbooks. 20

1.5.2. Методы объекта Workbook и семейства Workbooks. 21

1.5.3. Функции, используемые для работы с файлами. 21

1.5.4. Функция MsgBox. 24

1.5.5. Функция InputBox. 28

1.6. Объект Worksheet 29

1.6.1. Свойства объекта Worksheet и семейства Worksheets. 29

1.6.2. Методы объекта Worksheet и семейства Worksheets. 30

1.7. Объект Range. 31

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

1.7.2. Методы объекта Range. 32

2. Переменные. 33

2.1. Допустимые имена. 33

2.2. Типы данных переменных VBA.. 33

2.3. Описание переменной. 34

2.4. Использование переменных. 35

2.5. Преимущества переменных. 36

2.6. Объектные переменные. 37

2.6.1. Задание объектной переменной. 38

2.6.2. Объектные переменные общего типа. 38

2.6.3. Объектные переменные конкретных типов. 39

2.6.4. Преимущества объектных переменных. 39

2.7. Неявное описание переменных и тип Variant 40

2.8. «Плюсы» и «минусы» типа Variant 41

2.9. Обязательное описание переменных. 42

2.10. Типы данных по умолчанию.. 44

2.11. Пользовательские типы данных. 45

3.1. Объявление массива. 48

3.2. Использование массива. 49

3.3. Номер первого элемента и границы массива. 51

3.4. Динамические массивы.. 52

3.5. Пять функций для работы с массивами. 56

3.5.1. Функция Array. 56

3.5.2. Функция Erase. 56

3.5.3. Функция IsArray. 57

3.5.4. Функции LBound и UBound. 58

5. Вызов одной программы из другой. 59

5.1. Передача данных при вызове программы.. 60

5.1.1. Передача по ссылке и по значению.. 61

7. Область видимости переменных, констант, подпрограмм и функций. 65

7.1. Область видимости переменных. 66

7.1.1. Переменные уровня процедуры.. 66

7.1.2. Переменные уровня модуля. 68

7.1.3. Переменные уровня проекта. 69

7.1.4. Сохраняемые переменные. 70

7.1.5. Область видимости подпрограмм и функций. 71

7.1.6. Сохраняемые подпрограммы и функции. 72

8. Управляющие структуры.. 73

8.1. Управляющая инструкция If-Then-Else. 74

8.1.1. Дополнительное условие Elself. 76

8.2. Управляющая инструкция For-Next 77

8.3. Управляющая инструкция While-Wend. 81

8.4. Управляющая инструкция Do-Loop. 87

8.5. Управляющая инструкция Select Case. 77

8.6. Управляющая инструкция For-Each-Next 81

8.6.1. Инструкция For-Each-Next с многомерными массивами. 83

8.6.2. Инструкция For-Each-Next с семействами. 84

9. Инструкция With. 89

10. Встроенные функции VBA.. 91

10.1. Математические функции. 92

10.2. Функции проверки типов. 92

10.3. Функции преобразования форматов. 92

10.4. Функции обработки строк. 93

10.5. Функции времени и даты.. 95

11. Пользовательский интерфейс. 95

11.1. Форма (UserForm) 99

11.1.1. Вставка формы: 99

11.1.2. Основные свойства и методы формы: 101

11.1.3. События формы.. 102

11.2. Элементы управления. 102

11.2.1. Некоторые общие свойства элементов управления. 103

11.2.2. Соглашения об именах. 105

11.2.3. Некоторые общие методы элементов управления. 105

11.2.4. Общие события элементов управления. 106

11.3. Кнопка (СоmmandButton) 107

11.4. Поле (TextBox) 108

11.5. Надпись (Label) 109

11.5.1. Пример создания формы для ввода пароля. 109

11.6. Список (ListBox) 112

11.6.1. Основные свойства элемента управления ListBox. 113

11.6.2. Методы ListBox. 115

11.6.3. Заполнение списка. 115

11.7. Поле со списком (ComboBox) 120

11.8. Флажок (CheckBox) 121

11.9. Выключатель (ToggleButton) 126

11.10. Переключатель (OptionButton) 126

11.11. Элементы управления: полоса прокрутки (ScrollBar) и счетчик (SpinButton) 127

11.11.1. Пример создания формы для нахождения суммы чисел. 128

11.12. Создание нестандартных меню и панелей инструментов. 131

11.12.1. Методы объекта CommandBar 132

11.12.2. Свойства объекта CommandBar 133

11.12.3. Семейство CommandBarControls и объект CommandBarControl 134

11.12.4. Пример создания/удаления панели инструментов. 136

11.12.5. Пример создания/удаления меню.. 138

12. События объектов Workbook и Worksheet 139

12.1. События объекта Workbook. 139

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


Введение

Одним из эффективных средств создания информационных систем или автоматизированных рабочих мест является программа MicroSoft Excel, которая предоставляет разработчику возможность использовать одновременно преимущества визуального программирования и электронной таблицы. Языком визуального программирования в MicroSoft Excel, равно как в других приложениях MicroSoft Office, является Visual Basic for Applications (VBA). VBA можно отнести к языкам объектно-ориентированного программирования (ООП), в которых данные и код объединяются в нечто единое целое, называемое объект.

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

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

Основным понятием в Excel является объект. Говоря коротко,объект — это нечто, чем можно управлять и что можно программировать. Модель объектов Excel содержит более 100 собственных элементов и несколько — общих для всех приложений Office. Диапазон объектов Excel очень широк — от простых прямоугольников или текстовых полей до таких сложных структур, как сводные таблицы и диаграммы.

Каждый из объектов Excel предназначен для выполнения определенного действия, необходимого для анализа данных. Создание приложения заключается в объединении нужных объектов средствами языка программирования VBA.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Как то на паре, один преподаватель сказал, когда лекция заканчивалась — это был конец пары: «Что-то тут концом пахнет». 8835 — | 8363 — или читать все.

Объекты MS Excel

Все офисные приложения можно рассматривать как совокупность объектов. Объектами являются сами приложения Application (центральный или корневой объект ) и их компоненты (вложенные объекты).

Примеры объектов: рабочий лист Worksheet , рабочая книга Workbook , диаграмма Chart , рамка Border . Доступ к интервалам ячеек возможен только как к объектам Range , например, объект Range(«A1») представляет ячейку A1. Каждый элемент меню , каждая командная кнопка , любой элемент рабочего листа являются объектами MS Excel.

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

В VBA возможны три типичные действия c объектами:

  • проверка свойств объекта;
  • изменение объекта посредством модификации его свойств;
  • выполнение методов объекта.

Подробно структура объектов, синтаксис свойств и методов, перечень событий рассмотрены в разделе Microsoft Excel Object Model книги под названием Microsoft Excel Visual Basic Reference справочника по VBA (Help).

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

Свойства объекта это атрибуты объекта . Каждый объект может иметь десятки свойств, например, объект Worksheet имеет 52 свойства.

Свойства делятся на две группы:

  • свойства-участники ( accessors ), представляющие вложенные объекты;
  • терминальные свойства ( terminals ), задающие характеристики объекта или его состояние.

Свойства-участники позволяют добраться до объекта, находящегося на любом уровне вложенности. Например, в записи Application.ActiveWorkbook свойство ActiveWorkbook позволяет получить доступ к объекту приложения — активной рабочей книге , а в записи ActiveWorkbook.ActiveSheet свойство ActiveSheet означает доступ к объекту рабочей книги — активной странице этой книги.

Изменение значений терминальных свойств — это один из способов изменить внешний объект .

Свойства имеют статус:

  • Read-Write (далее R/W ) предполагает возможность изменения свойства;
  • Read-Only (далее R/O ) означает, что можно только протестировать значение свойства.

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

В качестве значений свойств могут использоваться константы с префиксом xl , например, константа xlCalculationManual устанавливает ручной пересчет таблицы.

Примеры часто используемых свойств объектов

СвойствоОбъектПримерыОписание
Bold, Italic (R/W Boolean)FontActiveCell.Font.Bold=True

ActiveCell.Font. Italic =False

Устанавливает полужирный шрифт. Отменяет курсив.
Column, Row (R/W Long)RangeDebug.PrintВ окне Immediate будут распечатаны номер первой колонки и номер первой строки интервала ячеек B3:C5 — «2 3»
ColumnW >Variant )RangeRange(«A1:B5»).ColumnW >Ширина каждой колонки объекта Range 15 символов
Height, Width (Double)Многие объектыApplication.W >

W=Range(«A1:B5»). Height (статус R/O)

Ширина окна приложения 200 пт.

Возвращает суммарную высоту строк объекта Range в пунктах

RowHeight (R/W Variant )RangeRange(«A1:B5»).RowHeight=15Устанавливает высоту каждой строки объекта Range в пунктах
Formula (R/W Variant )RangeRange(«A2»). Formula = «=pi()*A1^2»В ячейку А2 записывается формула
Value (R/W Variant )RangeRange(«A3»).Value=6.28Значение ячейки устанавливается равным 6,28
Count (R/O Long)Группа объектовN= Sheets .CountВ переменную N записывается количество элементов коллекции объектов
Name (String)Многие объектыActiveSheet.Name=»Nw_Sh»(статус R/W)

Wb =ActiveWorkbook.Name(статус R/O)

Активному листу присваивается новое имя.

Переменной Wb присваивается имя активной рабочей книги .

Parent (R/O Object)Многие объектыP_t= Range(«A1:B5»). Parent

для объекта Range возвращает объект Sheet — рабочий лист , на котором объект Range расположен

Возвращает объект обычно другого типа, который является объектом более высокого уровня по отношению к указанному объекту

Свойства объектов изменяются при помощи оператора присваивания или под влиянием методов.

Синтаксис операторов присваивания object.property=expression

  • object — ссылка на объект, над которым совершается действие;
  • property — название свойства, значение которого необходимо изменить;
  • expression — выражение, представляющее новое значение свойства объекта.
  • Каждое свойство может принимать значения только определенного типа.
  • Тип результата вычисления выражения должен соответствовать типу свойства, т.е, если свойство является числовым, то и результат вычисления выражения должен быть числом или должен преобразовываться в число.

Например, оператор ActiveCell.Font. Bold=»b» является ошибочным, так как свойство Bold имеет тип Boolean и может принимать значения только True или False .

Процедура изменяет размеры активного окна приложения. Ширина и высота окна приложения вводятся в диалоге. Свойства Height и Width для объекта Window имеют статус R/W , но эти свойства нельзя изменять, если размер окна минимизирован или максимизирован. Поэтому первоначально в процедуре свойством WindowState устанавливается обычный размер окна

При помощи оператора присваивания можно сохранить значение свойства в переменной. Значение свойства может использоваться как часть условного выражения . В таких случаях говорят о возврате значения свойства.

Синтаксис оператора присваивания , возвращающего значение свойства

  • variable — переменная или свойство некоторого объекта;
  • object — ссылка на объект, свойство которого запоминается или тестируется;
  • property — название свойства, значение которого необходимо получить.
  • Тип переменной должен соответствовать типу значения свойства.
  1. Распечатать название рабочего листа c активной ячейкой .

Свойство Parent возвращает рабочий лист , на котором расположена активная ячейка .

В процедуре тестируется свойство Value объекта Range — ячейки A1. В случае отрицательного числа цвет заливки ячейки — синий.

Методы объектов

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

  • Методы — это функции или подпрограммы.
  • Подобно процедурам методы могут принимать аргументы.
  • Функции VBA и методы Application могут иметь одинаковые имена, но различные аргументы, например, функция InputBox класса Interaction и метод InputBox класса Application .

Синтаксис вызова метода без аргументов

например, ActiveCell. Justify .

Вызов метода с аргументами имеет две формы:

  • variable=object.method( arguments ) — функциональная форма вызова (аргументы указываются в скобках после названия метода).
  • object.method arguments — операторная форма вызова (аргументы записываются через пробел после названия метода).

Если метод использует несколько аргументов, то они перечисляются через запятую.

Аргументы можно задавать, используя позиционное или произвольное расположение.

  • Функциональная форма вызова метода используется, если необходимо сохранять значение, возвращаемое методом.
  • Операторная форма вызова метода используется, если не нужно сохранять возвращаемое методом значение.

Каждый объект имеет свои собственные методы . Некоторые методы являются уникальными, а другие встречаются у нескольких объектов. Например, метод Delete может удалять графический объект и рабочий лист .

Модель объектов

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

Нажатие на выбранный объект отображает на экране статью, посвященную объекту, в которой ниже имени объекта, как правило, расположены три гиперссылки, позволяющие просмотреть свойства ( Properties ), методы ( Methods ) и события ( Events ) выбранного объекта с соответствующими примерами. В дополнение можно раскрыть список рекомендуемых для просмотра объектов ( See Also ). Нажатие на Multiple objects показывает перечень исходных объектов или перечень вложенных объектов.

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

Модель объектов содержит простые объекты и коллекции объектов . Коллекция объектов ( Collection ) объединяет группу подобных объектов.

Коллекции объектов

Коллекция объектов — это объект специального типа, существующий для управления объектами группы. Например, Workbooks является коллекцией всех открытых книг — объектов Workbook , а Worksheets — коллекцией рабочих листов некоторой рабочей книги — объектов Worksheet . Примерно половина всех объектов MS Excel — это коллекции объектов .

Процедуры могут обращаться как к отдельному элементу коллекции (к объекту Workbook или к объекту Worksheet ), так и ко всем объектам коллекции одновременно (к объекту Workbooks или к объекту Worksheets ). Коллекция объектов и объекты этой коллекции обладают различными свойствами и методами.

Коллекция объектов — это упорядоченная совокупность объектов. Для доступа к конкретному объекту в коллекции можно использовать его имя или порядковый номер в коллекции, например, Workbooks (1) указывает на первую рабочую книгу . Запись Worksheets («Sheet2») указывает на лист с именем Sheet2 .

Ссылка на основную публикацию
Adblock
detector