Терминальные свойства объекта Workbook
Терминальных свойств, как обычно, множество. Они проще, чем свойства, задаваемые объектами. Среди них достаточно много булевых свойств, позволяющих включать или отключать то или иное свойство рабочей книги. Я приведу сводку некоторых из этих свойств, позволяющую получить общее представление о том, как можно управлять характеристиками рабочей книги Excel с помощью этих свойств.
AcceptLabelsInFormula | Булево свойство со значением True, если метки могут использоваться в формулах рабочего листа. По умолчанию - True. |
HasRoutingSlip | Булево свойство со значением True, если книга может быть направлена по сети другим участникам разработки документа. |
Routed | Булево свойство со значением True, если документ был направлен следующему участнику разработки. |
MultiUserEditing | Булево свойство со значением True, если книга открыта для разделяемого доступа. |
AutoUpdateFrequency | Задает частоту (в минутах), с которой сделанные изменения передаются участникам разделяемого доступа. Если свойство имеет значение 0, то книга будет пересылаться только в момент ее сохранения |
AutoUpdateSaveChanges | Булево свойство со значением True, если сделанные изменения автоматически пересылаются всем участникам разработки. Предыдущий параметр должен иметь значение в пределах от 5 до 1440, чтобы это свойство оказало эффект. |
ListChangesOnNewSheet | Булево свойство со значением True, если сделанные изменения показываются на отдельной странице при разделенном доступе |
KeepChangeHistory | Булево свойство со значением True, если при разделенном доступе сохраняется история сделанных изменений. |
ChangeHistoryDuration | Устанавливает число дней, в течение которых сохраняются изменения в их истории. Старые изменения, срок которых превышает заданную установку, из истории удаляются |
CreateBackup | Булево свойство со значением True, если при сохранении книги создается ее резервная копия. |
CodeName | Рабочие книги, листы и другие объекты Excel имеют два имени - собственное и кодовое. В момент создания объекта они совпадают, например "Лист1", но затем каждое из них может быть независимо изменено. Кодовое имя может быть изменено только вручную в окне свойств. Программно оно может быть использовано только для чтения. Важно то, что кодовое имя можно использовать для непосредственного именования объекта, что сокращает цепочку вызовов. Так непосредственно можно обратиться к объекту Лист1.Range(myRange) |
FullName | Полное имя рабочей книги, заданное в виде строки, включающее путь к файлу, хранящему книгу. Имеет статус "только для чтения". |
FileFormat | Свойство имеет статус "только для чтения" и возвращает константу, задающую формат файла и/или тип рабочей книги |
HasPassword | Булево свойство со значением True, если документ имеет пароль защиты |
Saved | Булево свойство со значением True, если не делалось никаких изменений с момента последнего сохранения документа. |
WriteReserved | Булево свойство со значением True, если документ закрыт для записи. |
EnvelopeVisible | Новое в Excel 2000 терминальное булево свойство, при включении которого появляется панель для отправки электронной почты и заголовок отправляемого сообщения. |
VBASigned | Новое в Excel 2000 терминальное булево свойство, которое показывает, имеет ли программный проект данной книги цифровую подпись. Свойство имеет статус "только для чтения". |
Приведу две простые процедуры, которые демонстрируют использование некоторых терминальных свойств. Первая из этих процедур выводит на печать имена рабочей книги и путь к ней:
Public Sub AllNames() 'Печать имен документа With ThisWorkbook Debug.Print "Свойство Name - ", .Name Debug.Print "Свойство CodeName - ", .CodeName Debug.Print "Свойство FullName - ", .FullName Debug.Print "Свойство Path - ", .Path End With End Sub
Вот как выглядят результаты в окне отладки, полученные в результате работы этой процедуры:
Свойство Name - BookOne.xls Свойство CodeName - ЭтаКнига Свойство FullName - E:\O2000\DsCd\Ch11\BookOne.xls Свойство Path - E:\O2000\DsCd\Ch11
Следующая процедура позволяет по желанию пользователя включить или отключить панель для отсылки почтового сообщения, используя новое свойство EnvelopeVisible:
Public Sub EnvelopeOn() 'Включение и выключение панели и заголовка почтового сообщения Dim Answer As Long Answer = MsgBox("Включить панель отправки почтового сообщения?", _ vbYesNo) If Answer = vbYes Then ThisWorkbook.EnvelopeVisible = True Else ThisWorkbook.EnvelopeVisible = False End If End Sub