Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
объектная модель Excel.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆
  • FileName — обязательный параметр, специфицирующий имя файла;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Workbooks.Open "Report.xls"

Объект Workbook

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

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

Объект Workbook обладает большим набором свойств. Свойства ActiveChart и ActiveSheet возвращают активную диаграмму и лист. Свойства Сharts, Comments, Names, Sheets, Windows, Worksheets возвращают семейства диаграмм, примечаний, имен, листов, окон и рабочих листов данной книги. Перечислим основные свойства объекта Workbook (табл. 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(Продолжение)

UpdateLinks

Указывает на то, как обновляются связи совложенными в книгу OLE-объектами. Допустимы следующие постоянные XlUpdateLinks: xlUpdateLinksAlways, xlUpdateLinksNever, xlUpdateLinksUserSetting

UserControl

Возвращает значение True, если книга была создана пользователем, и значение False, если она была сконструирована программно

WebOptions

Возвращает объект WebOptions, который инкапсулирует в себе данные, используемые MS Excel при сохранении книги как Web-страницы

Windows

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

Worksheets

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

WritePassword

Устанавливает пароль для записи книги

WriteReserved

Проверяет, защищена ли книга от записи

WriteReservedBy

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

Закрытие книги без сохранения изменений

Свойство Saved объекта Workbook возвращает значение True, если никаких изменений не было сделано в книге с момента ее последнего сохранения, и значение False в противном случае. Поэтому, если в процедуру обработки события BeforeСlose объекта Workbook добавить инструкцию ActiveWorkbook.Saved = True

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

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ActiveWorkbook.Saved = True

End Sub

Определение объекта Workbook по имени рабочей книги

Объекты Workbook образуют семейство Workbooks, доступ к элементам которого можно производить как по имени, так и индексу. В следующем коде доступ к элементам этого семейства реализуется по имени. В качестве искомой книги взята активная рабочая книга, ссылка на которую возвращается свойством ActiveWorkbook. Свойство FullName возвращает полное имя книги, а метод SaveAs сохраняет ее по указаному имени.

Dim wb As Workbook

Set wb = Workbooks(Dir(ActiveWorkbook.FuliName))

Debug.Print wb.FullName

wb.SaveAs Filename:="newfile.xls"

Debug.Print wb.FullName

Как узнать, открыта ли специфицированная рабочая книга

Часто бывает необходимо узнать, открыта ли данная книга. Такую проверку можно провести с помощью следующей функции (листинг 5.21), которая проверяет, возвращает ли ссылка на специфицированную книгу значение Nothing или объект Workbook.

Листинг 5.21. Определение. открыта ли специфицированная рабочая книга

Function WorkbookExists(WorkbookName As String) As Boolean

Dim wb As Workbook

On Error Resume Next

Set wb = Workbooks(WorkbookName)

WorkbookExists = Not (wb Is Nothing)

On Error GoTo 0

End Function

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

Объект Name инкапсулирует в себе информацию об имени, используемом в рабочей книге. Все имена образуют семейства Names. Удалять ненужные имена из рабочей книги конечно можно вручную, но этот процесс довольно утомительный. Код листинга 5.22 демонстрирует, как семейство Names позволяет пролистать все имена и удалить выбранные.

Листинг 5.22. Пролистывание всех имен и удаление выбранных

Sub CheckingNames()

Dim nm As Name

Dim ans As Integer

If ThisWorkbook.Names.Count = 0 Then

MsgBox "Имена не определены."

Exit Sub

End If

For Each nm In ThisWorkbook.Names

With nm

ans = MsgBox("Удалить имя " & .Name & " ? " & vbCr & _

"относящее к " & .RefersTo, vbYesNo + vbQuestion)

Select Case ans

Case vbYes

.Delete

Case vbNo

End Select

End With

Next

End Sub

Код листинга 5.23 демонстрирует, как можно присвоить имя выделенному диапазону. Ссылка на выделенный диапазон указывается с помощью окна ввода InputBox.

Листинг 5.23. Присвоение имени выделенному диапазону

Sub AddName ()

Dim name As String

name = InputBox("Введите имя")

ActiveSheet.Names.Add Name:=name, _

RefersTo:="=" & Selection.Address()

End Sub

Определение, была ли сохранена открытая рабочая книга

Для того чтобы определить была ли рабочая книга сохранена, можно проверить длину строки, возвращаемую свойством Path объекта Workbook, как показано в листинге 5.24. Это свойство возвращает полный путь к приложению без последнего разделителя и имени файла. Если это свойство возвращает значение 0, то приложение еще не было сохранено.

Листинг 5.24. Определение, была ли сохранена открытая рабочая книга

Function IsSavedO As Boolean

If Len(ThisWorkbook.Path) = 0 Then

IsSaved = False

Else

IsSaved = True

End If

End Function

Методы объекта Workbook

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

Таблица 5.5. Основные методы объекта Workbook

Метод

Описание

AcceptAllChanges

Принимает все изменения в совместно используемой книге

Activate

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

AddToFavorites

Добавляет книгу в Избранное

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

Метод

Описание

BreakLink

Конвертирует формулы или OLE-объекты между связанными книгами в значения

CanCheckln

Проверяет и устанавливает, можно ли редактировать

книгу, расположенную на сервере

ChangeFileAccess

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

ChangeLink

Изменяет тип связи, установленный между документами

Checkln

Производит редактирование книги, расположенной на

сервере

Close

Закрывает книгу

DeleteNumberFormat

Удаляет пользовательский числовой формат

EndReview

Прекращает редактирование файла, который был отослан методом SendForReview

ExclusiveAccess

Устанавливает для текущего пользователя эксклюзивный доступ к книге

FollowHyperlink

Производит переход по гиперссылке

NewWindow

Открывает новое окно в книге

PivotCaches

Возвращает семейство PivotCaches, представляющее собой кэш-таблицу, отведенную под сводную таблицу

PivotTableWizard

Создает сводную таблицу

Post

Пересылает книгу в папку общего доступа. Метод работает только с клиентами MS Exchange, соединенными с MS Exchange-сервером

Printout

Печатает книги

PrintPreview

Задает предварительный просмотр книги

Protect

Защищает рабочую книгу от внесения в нее изменений

ProtectSharing

Защищает книгу при совместном использовании

PurgeChangeHistoryNow

Удаляет данные старше указанного срока из журнала изменений

RefreshAll

Обновляет все внешние данные и отчеты, созданные на основе сводной таблицы

RejectAllChanges

Отменяет все изменения в книге при совместном ее использовании

ReloadAs

Перегружает книгу, созданную на основе HTML-документа, используя указанную кодировку

RemoveUser

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

ReplyWithChanges

Отсылает сообщения, подтверждающие завершение редактирования книги

Save

Сохраняет книгу

SaveAs

Сохраняет книгу в другой файл

SaveCopyAs

Сохраняет копию книги

SendMail

Отсылает почту, используя встроенные средства MS Mail

Unprotect

Снимает защиту с рабочей книги

UnprotectSharing

Снимает защиту с совместно используемой книги

UpdateFromFile

Обновляет из файла книги только для чтения

UpdateLink

Обновляет связи MS Excel и OLE

WebPagePreview

Задает предварительный просмотр книги, прежде чем она будет сохранена как Web-страница