Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:
Application.ФункцияРабочегоЛиста(Аргументы)
Например:
Application . Pi ( )
Вычисление числа п
Application. Pmt (Аргументы)
Определение постоянных периодических платежей при постоянной процентной ставке с помощью функции ППЛАТ (РМТ)
Application . Sum (Аргументы)
Нахождение суммы значений из ячеек диапазона
Приведем несколько наиболее часто используемых свойств, методов и событий объекта Application.
Свойства объекта Application
Свойства
Выполняемые действия и допустимые значения
ActiveWorkbook,
ActiveSheet
ActiveCell
Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму, диалоговое окно. Свойство ActiveCell содержится В ActiveSheet, а свойства ActiveSheet, ActiveChart И ActiveDialog в ActiveWorkbook.
Свойства
Выполняемые действия и допустимые значения
ActiveChart
В следующем примере в активной ячейке устанавливается по-
ActiveDialog
лужирный шрифт и в нее вводится строка текста Отчет за май: With ActiveCell .Font. Bold = True .Value = "Отчет за май" End With
ThisWorkbook
Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Это свойство может возвращать рабочую книгу, отличную от возвращаемой свойством Active-Workbook, т. к. выполняемый макрос может находиться в неактивной книге
xlCalculationSemiAutomatic (автоматический режим, не распространяется на таблицы)
Caption
Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 1999 год, а вторая возвращает имя окна, используемое по умолчанию, т. е. Microsoft Excel:
Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются)
DisplayFormulaBar
Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится).
В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel:
Application. DisplayFormulaBar = False
DisplayScrollBars
Допустимые значения: True (полосы прокрутки видны в окне Excel) и False (полосы прокрутки не отображаются). Например: Application. DisplayScrollBars = False — строка формул не будет выводиться в окне Excel
Свойства
Выполняемые действия и допустимые значения
DisplayStatusBar
Допустимые значения: True (строка состояния видна в окне Excel) и False (строка состояния не видна). Например:
Application. DisplayStatusBar = True — строка состояния не будет выводиться в окне Excel
EnableCancelKey
Определяет действие при нажатии комбинации клавиш <Ctrl>+<Break>, используемой для прерывания выполнения процедуры. Допустимые значения:
xlDisabled (прерывания программы запрещено) xllnterrupt (прерывание процедуры разрешено) XlErrorHandler (прерывание воспринимается как ошибка)
Height
Высота окна приложения в пунктах
Width
Ширина окна приложения в пунктах
Left
Расстояние в пунктах от левой границы окна приложения до левого края экрана
Right
Расстояние в пунктах от правой границы окна приложения до правого края экрана
Top
Расстояние в пунктах от верхней границы окна приложения до верхнего края экрана
ScreenUpdating
Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству
ScreenUpdating необходимо присвоить значение True
StatusBar
Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных. . . в строке состояния:
Вызывает перевычисление функции пользователя при изменении значений параметров. Например, функция Квадрат будет автоматически пересчитывать результат на рабочем листе при изменении значения аргумента:
Function Квадрат (х) Application .
Volatile Квадрат = х^2 End Function
Временно приостанавливает работу приложения без остановки работы других программ.
Синтаксис:
Wait (Time)
Time — время, в которое предполагается возобновить работу приложения
В следующем примере показывается, как установить время, чтобы возобновление работы приложения началось в 17 часов:
Application. Wait "17:00:00"
Устанавливает выполнение специфицированной процедуры при нажатии заданной комбинации клавиш.
Синтаксис:
OnKey(Key, Procedure)
Procedure — имя выполняемой подпрограммы при нажатии клавиш
Key — строка, определяющая комбинацию клавиш, которая должна быть нажата. В этой строке можно также указывать специальные клавиши, используя следующие коды:
Методы
Выполняемые действия
OnRepeat и OnUndo
<Backspace> — {BACKSPACE} или (BS)
<Break> — {BREAK}
<Caps Lock> — {CAPSLOCK}
<Delete> или <Del> — {DELETE} или {DEL}
<вниз>— {DOWN}
<End> — {END}
<Enter> (цифровая клавиатура) — {ENTER}
<ESC> — {ESCAPE}или {ESC}
<Home> — {HOME}
<lns>или <lnsert>— {INSERT}
<<-> — {LEFT}
<Num Lock> — {NUMLOCK}
<Page Down> — {PGDN}
<Page Up> — {PGUP}
<Return> — {RETURN}
<->> — {RIGHT}
<Scroll Lock> — {SCROLLLOCK}
<Tab>- {TAB}
<вверх>- {UP}
ОТ <F1> до<F15> — ОТ {F1}до{F15}
Допустимо использование сочетания одновременно нажатых клавиш. С этой целью для перечисленных трех клавиш установлены следующие коды:
<Shift> - +
<Ctrl> ^
<Alt>-%
В примере процедуре Амортизация назначена комбинация клавиш <Ctrl>+<+>, а процедуре ПроцентнаяСтавка — <Shift>+<Ctrl>+<->.>:
batestTime — если на момент запуска процедуры, Excel не может ее запустить в силу того, что выполняется другое действие, то параметр LatestTime определяет последнее время ее запуска. Если этот аргумент опущен, то Excel будет ждать до тех пор, пока не сможет выполнить эту процедуру
Schedule — допустимые значения: True (выполнение процедуры откладывается на сутки) и False (во всех остальных случаях)
В следующем примере демонстрируется, как запустить процедуру Очистка на выполнение через 15 секунд от текущего времени:
Application. OnTime Now +_ TimeValue ("00:00:15"), "Очистка" Закрывает приложение.
Например:
Application. Quit
События объекта Application
Событие
Когда возникает событие
NewWorkbook
При создании новой рабочей книги
WorkbookActivate
При активизации рабочей книги
WorkbookBeforeClose
Перед закрытием рабочей книги
WorkbookBeforePrint
Перед печатью рабочей книги
WorkbookBeforeSave
Перед сохранением рабочей книги
WorkbookNewSheet
При добавлении нового листа в рабочую книгу
WorkbookOpen
При открытии рабочей книги
WorkbookDeactivate
Когда активная книга теряет фокус
Объект Workbook и семейство Workbooks
В иерархии Excel объект workbook (рабочая книга) идет сразу после объекта Application и представляет файл рабочей книги. Рабочая книга хранится либо в файлах формата XLS (стандартная рабочая книга) или XLA (полностью откомпилированное приложение). Свойства и методы рабочей книги позволяют работать с файлами.
Свойства объекта Workbook и семейства Workbooks
Свойства
Выполняемые действия и допустимые значения
ActiveSheet
Возвращает активный лист книги. Например:
MsgBox "Имя активного листа " & ActiveSheet . Name — выводит в диалоговом окне имя активного рабочего листа
ActiveDialog
Возвращает активное диалоговое окно
ActiveChart
Возвращает активную диаграмму
Sheets
Возвращает семейство всех листов книги
Worksheets
Возвращает семейство всех рабочих листов книги
Charts
Возвращает семейство всех диаграмм книги (которые не внедрены в рабочие листы)
Count
Возвращает число объектов семейства workbooks
HasPassword
Допустимые значения: True (если у документа имеется пароль защиты), False (в противном случае)
WriteRe served
Допустимые значения: True (если документ закрыт для записи), False (в противном случае)
Saved
Допустимые значения: True (если не производились изменения в документе со времени его последнего сохранения), False (в противном случае)
MailSystem
Возвращает имя инсталлированных на компьютере средств работы с электронной почтой. Допустимые значения:
xlNoMailSystem (не установлена система электронной почты)
xlMAPi (установлена система Microsoft Mail)
xlPowerTalk (установлена система Apple PowerTalk Mail, на компьютерах Macintosh).
В следующем примере проверяется, инсталлирована ли электронная почта. Если электронная почта не установлена, то отображается соответствующее сообщение:
If Application. MailSystem <> xlMAPI Then
MsgBox "Microsoft Mail неинсталлирован"
End If
Методы объекта Workbook и семейства Workbooks
Методы
Выполняемые действия
Activate
Активизирует рабочую книгу так, что ее первый рабочий лист становится активным.
Например:
Workbook. Activate
Add
Создает новый объект для семейства Workbooks.
Синтаксис:
Add (Template)
Template — задает шаблон, на основе которого создается новая рабочая книга. Допустимые значения: xlWBATChart, xlWBATExce14IntlMacroSheet, xlWBATExce14MacroSheet или xlWBATWorksheet.
Если аргумент Template опущен, то создается новая рабочая книга с количеством листов, заданных свойством
SheetsInNewWorkbook
Protect
Защищает рабочую книгу от внесения в нее изменений. Синтаксис:
Protect (Password, Structure, Windows)
Password — строка, используемая в качестве пароля для защиты книги
Structure — допустимые значения True (защищена структура книги, т. е. взаимное расположение листов) и False (не защищена)
windows — допустимые значения True (защищено окно книги) и False (не защищено)
В следующем примере устанавливается защита для активной рабочей книги:
ActiveWorkbook. Protect Password:= "ВинниПух"
Unprotect
Снятие защиты с рабочей книги.
Синтаксис:
Unprotect (Password)
Password — строка, используемая в качестве пароля для защиты листа
В следующем примере снимается защита с активной рабочей книги:
ActiveWorkbook. Unprotect Password := "ВинниПух "
Close
Закрытие рабочей книги
Open
Открытие существующей рабочей книги
OpenText
Открытие текстового файла, содержащего таблицу данных
Save
Сохранение рабочей книги
SaveAs
Сохранение рабочей книги в другом файле.
Синтаксис:
SaveAs (Filename)
Filename — строка, указывающая имя файла, в котором будет сохранена рабочая книга
В следующем примере активная рабочая книга сохраняется в файле с именем НоваяВерсия:
ActiveBook. SaveAs Filename := "НоваяВерсия"
SaveAsCopy
Сохранить рабочую книгу в другом файле, оставляя рабочую книгу в памяти с прежним именем.
Синтаксис:
SaveAs (Filename, FileFormat)
Filename — строка, указывающая имя файла, в котором будет сохранена рабочая книга
В следующем примере активная рабочая книга сохраняется в файле с именем ЗапаснаяВерсия:
В иерархии Excel объект worksheet идет сразу после объекта workbook и представляет рабочий лист.
Приведем несколько наиболее часто используемых свойств и методов объекта Worksheet.
Свойства объекта Worksheet и семейства Worksheets
Методы
Выполняемые действия
Name
Возвращает имя рабочего листа. В следующем примере первому листу активной рабочей книги присваивается имя Итоги
за декабрь :
Worksheets (1) . Visible = "Итоги за декабрь"
Add
Создает новый рабочий лист.
Синтаксис:
Add (Before, After, Count, Type)
Before — указывает лист, перед которым будет размещен новый рабочий лист
After — указывает лист, после которого будет размещен новый рабочий. Если аргументы Before и After опущены, то новый лист размещается перед активным листом
Count — число добавляемых листов, по умолчанию имеет значение 1
Туре — указывает тип добавляемого листа. Допустимые значения: xlWorksheet (по умолчанию),
xlExce14MacroSheet и хlЕхсеl4 IntlMacroSheet.
Например:
ActiveWorkbook . Worksheets . Add
— вставляется новый лист перед активным листом активной рабочей книги
Delete
Удаляет рабочий лист. Например:
Worksheets (1) . De ete - удаляется первый рабочий лист из активной рабочей книги
Защищает рабочий лист от внесения в него изменений Синтаксис:
Protect (Password, DrawingObjects, Contents, Scenarios, User Inter faceOnly)
Password — строка, используемая в качестве пароля для защиты листа
DrawingObjects —допустимые значения: True (графические объекты защищены) и False (графические объекты не защищены). По умолчанию используется значение False
Contents — допустимые значения: True (ячейки защищены) и False (ячейки не защищены). По умолчанию используется значение True
scenarios —допустимые значения: True (сценарии защищены) и False (сценарии не защищены). По умолчанию используется значение True
Userlnterf aceOnly — допустимые значения: True (лист защищен от изменений со стороны пользователя, но не подпрограммы VBA) и False (лист защищен от изменений со стороны как пользователя, так и подпрограммы VBA). По умолчанию используется значение False