Приостановка работы приложения до указанного времени



Метод Wait объекта Application приостанавливает работу приложения без остановки работы других программ до указанного момента времени. Возвращает значение True, если специфицированный момент времени наступил.

Wait (Time)

Здесь параметр rime определяет время, в которое предполагается возобновить работу приложения.

В следующем примере устанавливается возобновление работы приложения на 17 часов:

Application.Wait "17:00:00"

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

Dim delay As Date

delay = #11:11:00 PM#

If Application.Wait(delay) Then

MsgBox "Пора взятся за дело"

End If

В последнем коде выполнение приложения задерживается на 10 секунд:

Dim delay As Date

delay = Now + TimeValue("00:00:10")

Application.Wait delay

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

Для получения данных из закрытой рабочей книги можно воспользоваться методом ExecuteExcel 4 Macro объекта Application, который запускает макрос MS Excel 4.0 и возвращает результат его выполнения (листинг 5.19). При этом надо помнить, что в данном методе ссылка на макрос должна всегда быть полной и включать как ссылку на книгу, так и рабочий лист. Если же в нем указана ссылка на ячейку, то возвращается значение ячейки.

Function GetValueFromClosed(path As String, file As String, _

sheet As String, ref As String) As String

Dim arg As String

If Right(path, 1) <> "\" Then path = path & "\"

If Dir(path & file) = "" Then

GetValueFromClosed = "File Not Found"

Exit Function

End If

arg = Chr(39) & path & "[" & file S "]" & sheet & Chr(39) & "!" & _

Range(ref).Range("A1").Address(ReferenceStyle:=xlR1C1)

GetValueFromClosed = Application.ExecuteExcel4Macro(arg)

End Function

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

Прежде чем применить событие объекта Application, необходимо создать модуль класса и там объявить объект типа Application, причем в объявлении использовать ключевое слово withEvents, например, как сделано в следующем коде (листинг 5.20, а). Кроме того, переименуйте модуль класса из безликого Class1, например, В MyAppWithEvent.

Листинг 5.20. а. Объявление объекта типа Application. Модуль класса

Public WithEvents App As Application

После этого имя объекта Арр будет добавлено в список объектов, приводимый в списке General модуля класса. В списке Declarations приводятся ассоциированные с ним события. Например, следующий код (листинг 5.20, б)реализует обработку двух событий— WorkbookActivate и WorkbookDeactivate, генерируемых при активизации и деактивизации рабочей книги.

Листинг 5.20, б . Процедуры, обрабатывающие события объекта типа

Private Sub App_WorkbookActivate(ByVal Wb As Workbook)

MsgBox "Книга " & Wb.Name & " активизирована"

End Sub

Private Sub App_WorkbookDeactivate(ByVal Wb As Workbook)

MsgBox "Книга " & Wb.Name & " деактивизирована"

End Sub

Теперь для того чтобы процедура, обрабатывающая событие, исполнялась, остается объявить объект типа- MyAppwithEvent, например, как это делается в коде листинга 5.20, в.

Листинг 5.20, е. Объявление объекта типа MyAppWithEvent.

Модуль ЭтаКнига

Dim a As New MyAppWithEvent

Private Sub Workbook_Open()

Set a.App = Application

End Sub

В заключение в табл. 5.3 перечислим события, связанные с объектом Application.

Таблица 5.3. События объекта Application

Событие Описание
NewWorkbook Создание новой рабочей книги
SheetActivate Активизация листа. Может быть как рабочий лист, так и лист с диаграммой
SheetBeforeDoubleClick Двойной щелчок на рабочем листе
SheetBeforeRightClick Щелчок правой кнопкой мыши на рабочем листе. Событие происходит до того, как генерируется определенное по умолчанию аналогичное событие. Если значение параметра Cancel процедуры обработки этого события установить равным True, то определенное по умолчанию действие не выполняется
SheetCalculate Пересчет на рабочем листе или изменение данных в диаграмме
SheetChange Изменение данных в ячейках рабочего листа
SheetDeactivate Деактивизация листа. Может быть как рабочий лист, так и лист с диаграммой
SheetFollowHyperlink Щелчок на гиперссылке
SheetPivotTableUpdate Обновление сводной таблицы
SheetSelectionChange Смена выделения на рабочем листе
WindowActivate Активизация окна
WindowDeactivate Деактивизация окна
WindowResize Изменение размеров окна
WorkbookActivate Активизация рабочей книги
WorkbookAddinlnstall Инсталляция надстройки
WorkbookAddinUninstall Удаление надстройки
WorkbookBeforeClose Перед закрытием рабочей книги. Если значение параметра Cancel процедуры обработки этого события установить равным True, то по завершении ее работы книга не закроется
WorkbookBeforePrint Перед печатью рабочей книги
WorkbookBeforeSave Перед сохранением рабочей книги
WorkbookDeactivate Деактивация рабочей книги
WorkbookNewSheet Добавление нового листа в рабочую книгу
WorkbookOpen Открытие рабочей книги
WorkbookPivotTableCloseConnection Закрытие связей со сводной таблицей
WorkbookPivotTableOpenConnection Установка связей со сводной таблицей

 

Семейство Workbooks

Семейство Workbooks инкапсулирует в себе все рабочие листы рабочей книги. В этом семействе имеются два основных свойства: свойство count возвращает число элементов семейства, а свойство Item — конкретный элемент семейства. Методы семейства Workbooks позволяют открывать существующую книгу (метод Open), закрыть ее (метод Close), создавать новую книгу (метод Add), причем как пустую, так и заполненную на основе данных либо из текстового файла (метод OpenText), либо из XML-файла (метод OpenXML), либо из базы данных (метод OpenDatabase).

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

Метод Add семейства Workbooks создает новую рабочую книгу.

Add(Template)

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

r имя файла, который будет использован в качества шаблона для создаваемой книги;

r одну из следующих постоянных XlWBATemplate: xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet, xlWBATWorksheet.

Если этот параметр опущен, то создается рабочая книга с числом листов, заданных свойством SheetsInNewWorkbook.

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

Метод O pen семейства Workbooks открывает указанную рабочую книгу.

Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, _

IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, _

Notify, Converter, AddToMru, Local, CorruptLoad, OpenConflictDocument)

Здесь:

r FileName — обязательный параметр, специфицирующий имя файла;

r UpdateLinks — необязательный параметр, указывающий на то, как должны обновляться связи в рабочей книге;

r ReadOnly — необязательный параметр. Если он принимает значение True, то книга открывается только для чтения;

r Format — необязательный параметр, специфицирующий разделитель, если MS Excel открывает текстовый файл;

r Password— необязательный параметр, указывающий пароль для открытия защищенной рабочей книги;

r WriteResPassword — необязательный параметр, специфицирующий пароль для внесения изменений в защищенную от записи книгу;

r IgnoreReadOnlyRecommended — необязательный параметр, указывающий надо ли отображать предупреждение о том, что книга была сохранена в режиме "только для чтения";

r Origin — необязательный параметр, специфицирующий, какой текстовый файл создан, если MS Excel открывает текстовый файл;

r Delimiter — необязательный параметр, указывающий пользовательский разделитель. Этот параметр используется только в случае, если значение параметра Format равно 6;

r Editable — необязательный параметр, позволяющий открыть данный шаблон для редактирования;

r Notify — необязательный параметр, который при значении False запрещает любые попытки открытия недостижимых по каким-либо причинам файлов;

r Converter — необязательный параметр, специфицирующий конвертор, если таковой требуется при открытии файла;

r AddToMru — необязательный параметр, значение True которого обеспечи­вает добавление файла в список недавно использованных файлов;

r Local — необязательный параметр, специфицирующий, надо ли сохранять файл в соответствии с локальными установками MS Excel;

r CorruptLoad — необязательный параметр, указывающий, открывается нормальный или восстановленный файл;

r OpenConfiictDocument — необязательный параметр, позволяющий открыть конфликтные документы.

Например, следующая инструкция открывает рабочую книгу Report.xls.

Workbooks.Open "Report.xls"


Объект Workbook

В иерархии MS Excel объект W orkbook идет сразу после объекта Application и представляет файл рабочей книги. Рабочая книга хранится в файлах формата либо XLS (стандартная рабочая книга), либо XLA (полностью откомпилированное приложение). Объект Workbook возвращается либо как элемент семейства Workbooks соответствующим свойством, либо как активная рабочая книга — свойством ActiveWorkbook, либо как книга, в которой данный код выполняется — свойством ThisWorkbook.

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

Объект W orkbook обладает большим набором свойств. Свойства ActiveChart и ActiveSheet возвращают активную диаграмму и лист. Свойства Сharts, Comments, Names, Sheets, Windows, Worksheets возвращают семейства диаграмм, примечаний, имен, листов, окон и рабочих листов данной книги. Перечислим основные свойства объекта W orkbook (табл. 5.4).

Таблица 5.4. Основные свойства объекта Workbook

Свойство Описание
ActiveChart Возвращает активную диаграмму
ActiveSheet Возвращает активный лист книги. В следующем примере устанавливается имя активного рабочего листа: ActiveSheet.Name = "Отчет"
Author Устанавливает имя автора книги
AutoUpdateFrequency Задает частоту обновления книги, совместно используемой несколькими пользователями
AutoUpdateSaveChanges Указывает, надо ли автоматически пересылать обновления другому пользователю при их сохранении и совместном использовании книги
CalculationVersion Возвращает версию MS Excel, в которой рабочая книга в последний раз была полностью пересчитана
ChangeHistoryDuration Задает число дней, в течение которых запоминаются изменения в книге при ее совместном использовании
Charts Возвращает семейство всех диаграмм книги (которые не внедрены в рабочие листы).
CommandBars Возвращает семейство всех панелей управления
Comments Возвращает семейство всех примечаний
CreateBackup Устанавливает, надо ли создавать backup - копию файла при сохранении изменений в книге
DisplayDrawingObjects Управляет отображением графических объектов. Допустимыми значениями являются следующие постоянные XIDisplayDrawingObjects: xlDisplayShapes, xlPlaceholders и xlHide
EnableAutoRecover Позволяет автоматически восстанавливать поврежденную книгу
FileFormat Задает формат файла рабочей книги
FullName Задает полное имя рабочей книги
FullNameURLEncoded Задает имя объекта совместно с указанием пути, где расположен файл
HTMLProject Возвращает объект HTMLProject, представляющий HTML-проект книги в MS Script Editor
HasPassword Возвращает значение True, если книга защищена паролем, и значение False в противном случае
HasRoutingSlip Проверяет, ассоциирована ли с книгой маршрутизация ее рассылки пользователям
HighlightChangesOnScreen Выделяет на экране изменения при совместной работе с книгой нескольких пользователей
IsAddin Проверяет, используется ли книга как надстройка

 


 

Таблица 5.4. Основные свойства объекта Workbook (Продолжение)

KeepChangeHistory Проверяет, запоминаются ли исправления, произведенные пользователями при совместной работе над книгой
ListChangesOnNewSheet Если значение свойства равно True, то исправления, произведенные пользователями при совместной работе над книгой, отображаются в новом рабочем листе
MultiUserEditing Если значение свойства равно True, то открытая книга разрешена для совместного использования несколькими пользователями
Name Задает имя книги
Names Задает семейство всех имен, использованных в книге
Password Задает пароль для защиты книги
PasswordEncryptionAlgorithm Задает алгоритм шифрования, используемый MS Excel для кодировки пароля
PasswordEncryptionFileProperties Проверяет, шифруются ли свойства документа
PasswordEncryptionKeyLength Задает стойкость ключа
PasswordEncryptionProvider Задает тип шифрования, используемого MS Excel для кодировки пароля
Path Возвращает путь к книге
PrecisionAsDisplayed Задает, надо ли производить вычисления с данными с той точностью, как они отображаются на рабочем листе
ProtectStructure Проверяет, защищена ли структура рабочей книги
ProtectWindows Проверяет, защищены ли окна рабочей книги
PublishObjects Возвращает семейство PublishObjects объектов PublishObject, каждый из которых представляет элемент рабочей книги, сохраненный для использования в Web-странице
Readonly Проверяет, открыта ли книга в режиме "только для чтения"
RevisionNumber Возвращает количество сохранений книги, пока она была открыта для совместного использования
Routed Проверяет, была ли книга отправлена по маршруту следующему пользователю
RoutingSlip Возвращает объект RoutingSlip, который инкапсулирует в себе данные, необходимые при маршрутизированной рассылке книги
SaveLinkValues Сохранение внешних связей вместе с книгой
Saved Возвращает значение True, если никаких изменений не было сделано в книге с момента ее последнего сохранения, и значение False в противном случае
Sheets Возвращает семейство всех листов книги
ShowPivotTableFieldList Проверяет, можно ли отобразить список полей сводной таблицы
SmartTagOptions Возвращает объект SmartTagOptions, инкапсулирующий в себе свойства смарт-тега
Styles Возвращает семейство всех стилей, используемых в книге
Title Задает заголовок Web-страницы, когда книга будет сохранена как Web-страница

 


Таблица 5.4. Основные свойства объекта Workbook (Продолжение)


Дата добавления: 2019-02-12; просмотров: 159; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!