КАТЕГОРИИ: Архитектура-(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. Объектное выражение может состоять из объектных переменных, объектных ссылок или объектного метода или свойства, которое возвращает объект:
Нельзя использовать переменные типа 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; Просмотров: 322; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |