Приостановка работы приложения до указанного времени
Метод 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!