Основы офисного программирования и документы Word


Терминальные свойства


Терминальные свойства просты для понимания, и я не буду долго на них останавливаться. Большинство из них являются общими для всех объектов Application. Попытаюсь сейчас дать небольшой обзор терминальных свойств, объединяя их в группы:

  • Свойства Top, Left, Heihgt, Width, Caption определяют размеры и заголовок окна приложения.
  • Свойства, начинающиеся с префикса User, - UserAddress, UserName и другие задают характеристики пользователя.
  • Группа булевых свойств, начинающихся с префикса Display, - DisplayScreenTips, DisplayStatusBar и другие позволяют включать или выключать отображение на экране тех или иных элементов интерфейса.
  • Группа свойств, начинающихся префиксом Default - DefaultSaveFormat, DefaultTableSeparator позволяет устанавливать некоторые характеристики, используемые приложением по умолчанию.
  • Группа булевых свойств, использующих суффикс Available - MAPIAvailable, MouseAvailable, MathCoprocessorAvailable устанавливают доступность некоторых устройств.
  • Другие свойства - булевы и не булевы задают другие многочисленные характеристики, например, CapsLock и NumLock позволяют определить, нажаты ли на клавиатуре соответствующие клавиши, Path - путь к каталогу, содержащему Word, ActivePrinter - активный принтер и так далее.

Я приведу лишь один простой пример на использование терминальных свойств, полагая, что и так все понятно.

Public Sub WorkWithTerm() 'Работа с терминальными свойствами 'Выключаю опции Application. DisplayStatusBar = False Application. DisplayRecentFiles = False

End Sub

Листинг 1.1.

(html, txt)

Изменяя терминальные свойства DisplayStatusBar и DisplayRecentFiles, я выключил панель статуса и показ в меню File файлов последнего использования. Убедившись в том, что они действительно выключились, я немедленно включил их уже руками, взведя соответствующие флажки в меню Tools|Options.

Рассмотрю подробнее лишь одно терминальное свойство, не столь тривиальное и отличающееся по своему духу от других свойств. Свойство IsObjectValid(obj As Object) и свойством назвать нельзя. Скорее это метод, аргументом которого является некоторый объект произвольного класса, а возвращаемое значение булевого типа показывает, существует ли объект, заданный аргументом метода (свойства). Это свойство полезно применять при работе, например, с коллекциями. Прежде чем начинать работу с тем или иным элементом коллекции, полезно проверить, а существует ли такой элемент, или, возможно, он уже был удален. Вот пример работы с этим свойством:


Public Sub IsObjectProp() ' В этом примере используется свойство IsObjectValid Dim MyPath As String Dim SecondDoc As Document MyPath = ActiveDocument.Path 'Определяем объект Set SecondDoc = Documents.Open(MyPath & "\DocTwo.doc") 'Удаляем объект, возможно, по ошибке Documents(1).Close 'Теперь нам объект понадобился If Not IsObjectValid(SecondDoc) Then 'Добавляем элемент в коллекцию Set SecondDoc = Documents.Open(MyPath & "\DocTwo.doc") End If 'Работа с документом DocTwo Debug.Print SecondDoc.Name

End Sub

Листинг 1.2.

(html, txt)

Заметьте, при работе с этим свойством я использую созданный мной объект SecondDoc, поскольку не могу написать IsObjectValid(Documents("DocTwo")). Написать-то, конечно, могу, но при выполнении возникнет ошибка. Ошибка не связана с самой функцией IsObject, - она возникнет раньше при вычислении значения аргумента - Documents("DocTwo"), поскольку в коллекции Documents этот элемент отсутствует.


Содержание раздела