Методы объекта Workbook
Дадим теперь краткую характеристику основным методам объекта Workbook. Мы уже говорили о том, что создаются и открываются рабочие книги методами коллекции Workbooks - Add, Open иOpenTextFile. А вот закрываются и сохраняются, используя собственные методы. С них мы и начнем описание методов:
· Save, SaveAs, SaveCopyAs - позволяют сохранить рабочую книгу, без ее закрытия и удаления из коллекции Workbooks. При первом сохранении следует применять метод SaveAs, чтобы задать имя файла, в котором книга сохраняется. Метод имеет и другие параметры - формат хранения, пароль, статус и другие характеристики. Последний из этой группы методов создает копию рабочей книги.
· Close - выполняет те же функции, что и Save, но одновременно закрывает книгу и удаляет ее из коллекции.
· Activate - активизирует рабочую книгу.
· Route - направляет рабочую книгу по сети всем участникам совместной разработки. Список участников и другие характеристики задаются в свойствах объекта RoutingSlip. Вот пример процедуры, в которой определяется круг участников работы, после чего им пересылается текущая книга.
Public Sub BookRoute()
'Регистрация исполнителей совместной разработки
'в объекте RoutingSlip.
'Посылка книги совместно работающим исполнителям.
With ThisWorkbook
.HasRoutingSlip = True
With .RoutingSlip
.Delivery = xlOneAfterAnother
.Recipients = Array("Илья Биллиг", _
"Михаил Дехтярь")
.Subject = "Collaboration Test"
.Message = "Это книга Excel, пересылаемая в качестве примера"
.ReturnWhenDone = True
End With
.Route
End With
End Sub
Заметьте, для того, чтобы при пересылке книги не задавались лишние вопросы, все исполнители, включенные в список Recipients, также как и сам автор документа, должны быть включены в адресную книгу. Согласно установленному порядку книга будет послана первому исполнителю, указанному в списке, и далее будет пересылаться по заданному списком маршруту. После отсылки книги свойство Routedавтоматически будет установлено как True.
· AcceptAllChanges, RejectAllChanges - принимает или отвергает все изменения, сделанные участниками совместной разработки документа при разделенном доступе.
· RefreshAll - обновляет сводные таблицы и все области, содержащие внешние данные.
· PurgeChangeHistoryNow (Days,SharingPassword) - удаляет из истории изменений все те, чей срок хранения превосходит число дней, заданных параметром Days. Второй параметр задает общий пароль.
· Protect, ProtectSharing, Unprotect, UnprotectSharing - методы, включающие и выключающие пароли личные и общие рабочей книги.
· ExclusiveAccess - если книга открыта с разделяемым доступом, то этот метод дает пользователю, вызвавшему его, исключительное право доступа - изменения, сделанные всеми остальными пользователями должны сохраняться в отдельных файлах.
· ChangeFileAccess(Mode, WritePassword, Notify) - изменяет статус доступа. Новый статус задается параметром Mode, который может принимать одно из двух значений: xlReadWrite и xlReadOnly. Если файл снабжен паролем и получает статус для записи и чтения, то второй параметр WritePassword задает пароль на запись. Если булев параметр Notify имеет значение True, то пользователь получает уведомление, когда файл недоступен.
· AddToFavorites - добавляет в папку Favorites ярлычок рабочей книги.
· PivotCaches - возвращает коллекцию областей памяти, отводимых сводным таблицам данной рабочей книги. Элементами этой коллекции являются объекты PivotCache. Каждой сводной таблице - объектуPivotTable отводится своя память (кэш), которую и задает объект PivotCache.
· RunAutoMacros - запускает на выполнение все автомакросы данной книги.
· LinkSources([Type]), ChangeLink(Name As String, NewName As String, [Type As XlLinkType = xlLinkTypeExcelLinks]), OpenLinks(Name As String, [ReadOnly], [Type]), LinkInfo(Name As String, LinkInfo As XlLinkInfo, [Type], [EditionRef]), UpdateLink([Name], [Type]) - группа методов, позволяющих работать со ссылками. Ссылки могут быть четырех типов:
o на другие рабочие книги Excel ,
o на документы, связанные по протоколу OLE (например, документы Word, на которые ссылается рабочая книга) или протоколу DDE,
o на издателей книги при совместной работе над книгой и ее публикации на сервере,
o на подписчиков книги, опубликованной на сервере и доступной для подписчиков.
Метод LinkSources позволяет получить все ссылки типа, заданного его параметром. Если параметр не указан, то будут выданы ссылки на книги Excel. Следующий метод Change позволяет изменить ссылку,Open - открыть документ по заданной ссылке, Info - получить некоторую информацию о документе, Update - обновить ссылки.
Вот пример работы с этой группой методов объекта Workbook:
Public Sub LinkDocs()
'Установление связей рабочей книги
Dim BookLinks As Variant
Dim i As Integer
With ThisWorkbook
' связи с другими книгами Excel.
BookLinks = .LinkSources(xlExcelLinks)
If Not IsEmpty(BookLinks) Then
Debug.Print "Существуют ссылки на рабочие книги Excel!"
For i = LBound(BookLinks) To UBound(BookLinks)
Debug.Print "Ссылка" & i & " : ", BookLinks(i)
If BookLinks(i) = "BookTwo" Then
.OpenLinks BookLinks(i)
.ChangeLink BookLinks(i), "BookOne"
End If
Next i
Else: Debug.Print "Ссылки на рабочие книги отсутствуют!"
End If
BookLinks = .LinkSources(xlOLELinks)
If Not IsEmpty(BookLinks) Then
Debug.Print "Существуют ссылки на OLE - документы!"
For i = LBound(BookLinks) To UBound(BookLinks)
Debug.Print "Ссылка" & i & " : ", BookLinks(i)
Next i
If .LinkInfo("Word.Document.8|E:\O2000\Remarks.doc!'", _
xlUpdateState, xlOLELinks) = 1 Then
Debug.Print "Автоматическое обновление данных с OLE - документами!"
End If
Else: Debug.Print "Ссылки на OLE - документы отсутствуют!"
End If
BookLinks = .LinkSources(xlPublishers)
If Not IsEmpty(BookLinks) Then
Debug.Print "Существуют ссылки на издателей документа!"
For i = LBound(BookLinks) To UBound(BookLinks)
Debug.Print "Ссылка" & i & " : ", BookLinks(i)
Next i
Else: Debug.Print "Ссылки на издателей отсутствуют!"
End If
BookLinks = .LinkSources(xlSubscribers)
If Not IsEmpty(BookLinks) Then
Debug.Print "Существуют ссылки на подписчиков документа!"
For i = LBound(BookLinks) To UBound(BookLinks)
Debug.Print "Ссылка" & i & " : ", BookLinks(i)
Next i
Else: Debug.Print "Ссылки на подписчиков отсутствуют!"
End If
End With
End Sub
Вот как выглядят результаты отладочной печати, полученные при работе этой процедуры:
Существуют ссылки на рабочие книги Excel!
Ссылка1 : BookTwo
Ссылка2 : E:\O2000\DsCd\Ch11\BookOne.xls
Существуют ссылки на OLE - документы!
Ссылка1 : Word.Document.8|E:\O2000\Remarks.doc!'
Автоматическое обновление данных с OLE - документами!
Ссылки на издателей отсутствуют!
Ссылки на подписчиков отсутствуют!
Новые методы объекта Workbook
У объекта Workbook в Excel 2000 появились два новых метода:
· Sub ReloadAs(Encoding As MsoEncoding),
· Sub WebPagePreview().
Оба метода, так или иначе, связаны с общей тенденцией публикации документов Excel в Интернет. Рабочие книги, публикуемые в Интернет и интранет, хранятся, естественно в формате HTML. При их чтении могут возникнуть проблемы с кодировкой. Метод ReloadAs(Encoding As MsoEncoding) позволяет перезагрузить книгу в формате HTML, используя нужную кодировку, заданную параметром метода, значением которого может быть, например, константа msoEncodingCyrillic. Метод WebPagePreview позволяет перед публикацией книги отобразить ее на дисплее в том виде, как будет выглядеть соответствующая Web-страница, открываемая в интернет для работы с рабочей книгой.
Методы объекта Workbook предназначены, как можно видеть, для выполнения общих операций над документом и по существу не определяют специфических для Excel действий. Чтобы познакомиться со спецификой, следует пойти вглубь иерархии объектов.
Дата добавления: 2016-02-20; просмотров: 1026;