Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Объекты Microsoft Word >> Проверка объекта на допустимость;

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Проверка объекта на допустимость;


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

Для определения типа объекта можно использовать функцию TypeName, передавая ей переменную или выражение. Например, такой код выводит сообщение в строке состояния, если выражение Selection. NextField вернуло объект Field:

If TypeName(Selectlon.NextField) = "Field" Then StatusBar = "A field was found"

Следующий код функционально эквивалентен предыдущему; единственное отличие ? результат вызова метода NextField сохраняется в объектной переменной myField.

Set myField = Selection .NextField
If TypeName(myField) = "Field" Then StatusBar = "A field was found"

Если переменная или выражение не ссылаются ни на какой объект, их оценка дает особое значение ? Nothing. В следующем примере метод Update применяется к myField только в том случае, если метод NextField не вернул Nothing (т. е. получен допустимый объект Field):

Set myField = Selection.NextField
If Not (myField Is Nothing) Then myField.Update

В Word предусмотрено глобальное свойство IsObjectValid, позволяющее определить, действителен ли объект, на который ссылается переменная. Это свойство возвращает False, если соответствующий объект удален. В следующем примере мы добавляем в активный документ таблицу и присваиваем ссылку на нее переменной aTable, после чего удаляем из документа первую таблицу. Если добавленная таблица (на которую ссылается aTable была первой в документе и соответственно значение aTable по-прежнему, действительно, программа удаляет обрамление этой таблицы.

Set aTable = ActiveDocument.Tables, Add(Range:=Selection.Range, NumRows :=2, _
NumColumns:=3)
ActiveDocument.Tables(1).Delete
If lsObjectValid(aTable) = True Then aTable.Borders.Enable = False



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017