Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объект в выражениях




 

Объектное выражение – это выражение VBA, которое определяет отдельный объект. Все объектные выражения должны вычисляться до единственной объектной ссылки (ссылки на объект); объектные выражения используются с единственной целью – создание ссылок на специфические объекты в программах VBA.

Объектное выражение может состоять из объектных переменных, объектных ссылок или объектного метода или свойства, которое возвращает объект:

 

Application Имя объекта: ссылается на объект приложения
Application.ActiveSheet Объектное свойство, которое возвращает ссылку на объект: активный лист
Application.Workbooks Объектный метод, который возвращает коллекцию объектов: все открытые рабочие книги
ABook Объектная переменная: инициализированная в операторе Set, ссылается на объект

 

Нельзя использовать переменные типа Object или объектные выражения в арифметических, логических или операциях сравнения. Объектная ссылка, созданная с помощью объектного выражения или сохраненная в объектной переменной, в действительности, является только адресом, указывающим место в памяти компьютера, где сохранен объект, на который выполняется ссылка. Поскольку объектная ссылка – это адрес памяти, арифметические, логические операторы и операторы сравнения не имеют смысла.

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

Оператор Set имеет следующий синтаксис:

 

Set Var = Object

 

Var – это любая объектная переменная или переменная типа Variant;

Object – любая допустимая объектная ссылка; это может быть другая объектная переменная или объектное выражение.

Если Var – переменная, объявленная с каким-либо определенным типом (например, Range или Workbook), этот тип должен быть совместим с объектом, на который ссылается Object.

 

Dim InstSheet As Worksheet

Set InstSheet = Application.ActiveSheet

 

Чтобы задать отдельный объект в выражении или объектную переменную для ссылки на этот объект, используются методы и свойства, возвращающие объекты, такие как свойства ActiveWorkbookи ActiveSheetобъекта Application или метод Cells объекта Worksheet(в Excel).

Хотя стандартные операторы сравнения (<, <=, >, >=, о, =) не являются значимыми при использовании с объектами, VBA предоставляет один опера­тор сравнения, предназначенный исключительно для использования с объектными выражениями и переменными – оператор Is:

 

Objectl Is Object2

 

Object1 и Object2– любые допустимые объектные ссылки. Оператор Is используется для определения того, обозначают ли две объектные ссылки один и тот же объект. Результат операции сравнения Is равен True,если объектные ссылки являются одними и теми же, иначе – False.

 

Пример 6. Процедура создания резервной копии активной рабочей книги

 

Sub SaveActiveBook()

'Создает копию активной рабочей книги под новым именем,

'используя метод SaveCopyAs. Новое имя имеет добавку "_bp"

Dim FName As String 'имя файла-копии

Dim OldComment As String 'комментарии

'сохранить комментарии исходного файла

OldComment = ActiveWorkbook.Comments

'добавить новые комментарии к backup-файлу

ActiveWorkbook.Comments = "Резервная копия файла " & ActiveWorkbook.Name & ", выполненная процедурой SaveActiveBook"

'Сформировать новое имя файла из исходного

FName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & "_bp.xls"

' добавление к имени файла пути

FName = ActiveWorkbook.Path & "\" & FName

ActiveWorkbook.SaveCopyAs Filename:=FName

ActiveWorkbook.Comments = OldComment ' восстановить комментарии

End Sub

 

В этой процедуре используются два объекта Excel, их свойства и методы. Объектная ссылка ActiveWorkbookявляется свойством Excel-объекта Application, которое возвращает объектную ссылку на активную в данный момент рабочую книгу.

В строке OldComment =… копируется строка свойства Commentsобъекта ActiveWorkbook в переменную OldComment. Затем в строках ActiveWorkbook.Comments = … задается новое значение для свойства Commentsобъекта ActiveWorkbook(это свойство изменяется и для исходной рабочей книги). Свойство Commentsэтого объекта содержит текст комментария, обычно вводимого диалоговое Properties(Окно свойств), которое Excel отображает при сохранении рабочей книги в первый раз или при использовании команды File | Properties(Файл | Свойства).




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 297; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.