
- •Объектная модель
- •Полная и неявная ссылка на объект
- •Ссылка на активную рабочую книгу, лист, ячейку, диаграмму и принтер
- •Загрузка инсталлированной надстройки
- •Управление уровнем безопасности
- •Семейство встроенных диалоговых окон
- •Объект FileDialog
- •Методы объекта Application
- •Установка выполнения специфицированной процедуры при нажатии заданной комбинации клавиш
- •Переопределение горячих клавиш приложения
- •Проверка правописания отдельного слова
- •Симулирование ячеек рабочего листа
- •Электронные часы в ячейке рабочего листа
- •Получение данных из закрытой рабочей книги
- •События объекта Application
- •IgnoreReadOnlyRecommended — необязательный параметр, указывающий надо ли отображать предупреждение о том, что книга была сохранена в режиме "только для чтения";
- •Установка и снятие защиты книги
- •Методы объекта Worksheet
- •Объект Protection
- •События объекта Worksheet
- •Добавление к графическому объекту обработчика события Click
- •Примечание
- •Свойства объекта Range
- •Управление стилем границы диапазона и объекта Border
- •Функции rgb и qbColor
- •Доступ к отдельным ячейкам диапазона
- •Выбор элементов на рабочем листе или в книге
- •Объект Characters
- •Объект Comment
- •Определение текущего диапазона
- •Объект Font
- •Объект Interior
- •Установка числового формата
- •Переопределение размеров диапазона
- •Методы объекта Range
- •Табуляция функции
- •Заполнение диапазона по одному значению
- •Специальная вставка
- •Вставка диапазона с транспонированием
- •Бегущая картинка
- •Поиск значения в диапазоне
- •Повторный поиск и поиск всех значений
- •Поиск по формату
- •Замена значений
- •Ввод в диапазон неповторяющихся значений
- •Озвучивание текста
- •Построение графа
- •Пользовательские функции
- •Математические функции
- •Надстройки
- •Где хранятся макросы?
VBA и MS Excel
В данном разделе вы познакомитесь с объектной моделью Excel. Узнаете о ее основных объектах: Application, Workbook, Worksheet, Range и Selection.
Познакомитесь со свойствами, методами и событиями, связанными с этими и другими базовыми объектами Excel. Узнаете, как получить данные из закрытой книги, вводить в диапазон неповторяющиеся значения, установить выполнение специфицированной процедуры при нажатии заданной комбинации клавиш, как создается надстройка и конструируется пользовательская функция, как переопределить горячие клавиши приложения, озвучить текст, произвести условное форматирование, управлять уровнем безопасности, отображать результат только при условии ввода всех данных, проверять вводимые значения.
Объектная модель
Объектная модель MS Excel представляет собой иерархию объектов, подчиненных одному объекту Application, который соответствует самому приложению Excel. Многие из этих объектов собраны в библиотеке объектов Excel, но некоторые из них, например, объект Assistant, входят в библиотеку объектов MS Office, которая является общей для всех офисных приложений. На рис. 5.1 собраны основные компоненты объектной модели MS Excel. На этом рисунке имена единичных объектов находятся в прямоугольниках с более темным фоном. Каждый из объектов будет обсужден по ходу рассмотрения, поэтому в данный момент ограничимся только представлением общей схемы объектной модели.
Полная и неявная ссылка на объект
Полная ссылка на объект состоит из ряда имен вложенных последовательно друг в друга объектов. Разделителями имен объектов в этом ряду являются точки, ряд начинается с объекта Application и заканчивается именем самого объекта.
Рис. 5.1. Объектная модель MS Excel
Н
апример,
полная ссылка на ячейку А1
рабочего листа Продажи
рабочей книги с именем Архив
имеет вид:
Application.Workbooks("Архив").Worksheets("Продажи").Range("A1")
Приводить каждый раз полную ссылку на объект совершенно не обязательно. Обычно достаточно ограничиться только неявной ссылкой на объект. В неявной ссылке, в отличие от полной, объекты, которые активны в данный момент, как правило, можно опускать. В рассмотренном случае, если ссылка на ячейку А1 дана в программе, выполняемой в среде Excel, то ссылка на объект Application может быть опущена, т. е. достаточно привести относительную ссылку:
Workbooks("Архив").Worksheets("Продажи").Range("A1")
Если в этом примере ссылки рабочая книга Архив является активной, то ссылку можно еще сократить:
Worksheets("Продажи").Range("А1")
Если и рабочий лист Продажи активен, то в относительной ссылке вполне достаточно ограничиться упоминанием только диапазона А1:
Range("A1")
Объект Application
Объект Application — это главный (корневой) объект в иерархии объектов MS Excel, представляющий само приложение MS Excel. Он имеет огромное число свойств и методов, которые позволяют установить общие параметры приложения MS Excel.
Свойства объекта Application
Объект Application благодаря обширной коллекции свойств позволяет программно установить значения многих опций окна Параметры, отображаемого при выборе команды Сервис►Параметры. Кроме того, он обеспечивает доступ к объектам верхнего уровня типа ActiveCell, ActiveSheet и т. д. Перечислим основные свойства этого объекта.
-
ActiveCell
ActiveChart
ActivePrinter
ActiveSheet
ActiveWorkbook
AddIns
AlertBeforeOverwriting
Assistant
AutoCorrect
AutoFormatAsYouTypeReplaceHyperlinks
AutomationSecurity
AutoRecover
CalculateBeforeSave
Calculation
CalculationState
Caption
CellDragAndDrop
Cells
Charts
Columns
Cursor
DataEntryMode
DefaultFilePath
DefaultSaveFormat
DefaultWebOptions
Dialogs
DisplayAlerts
DisplayCommentIndicator
DisplayFormulaBar
DisplayFullScreen
DisplayScrollBars
DisplaystatusBar
EditDirectlylnCell
EnableCancelKey
FileSearch
FoundFiles
Height
Left
LibraryPath
MemoryFree
MemoryTotal
MemoryUsed
Names
OperatingSystem
OrganizationName
Path
ProductCode
RecentFiles
ReferenceStyle
ScreenUpdating
Selection
Sheets
StatusBar
ThisWorkbook
Top
UsableHeight
UsableWidth
UserName
Version
Width
Windows
WindowState
WorksheetFunction