Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Использование методов объекта
Методы объекта используются в операторах VBA так, как использовались бы любые встроенные процедуры VBA. Метод объекта имеет следующий синтаксис: ИмяОбъекта.Метод Для методов объектов, имеющих обязательные и необязательные аргументы, используется такой синтаксис: ИмяОбъетк.Метод Аргумент1, Аргумент2, … Во второй строке синтаксиса Аргумент1, Аргумент2и так далее представляют аргументы в списке аргументов метода. Необходимо перечислять аргументы метода в определенном порядке, отделяя каждый аргумент в списке запятой и включая отмечающие запятые {place holding commas) для пропущенных необязательных аргументов. Метод может иметь один или несколько аргументов в своем списке или не иметь их совсем; аргументы метода могут быть обязательными или необязательными. Еще один способ вызова метода заключается в использовании именованных аргументов и является, пожалуй, наиболее простым и очевидным. При вызове метода указываются названия аргументов, за которыми следует оператор: = и сами передаваемые значения: ИмяОбъекта.Метод Аргумент1: =Значение1, Аргумент2: =Значение2, … Вызов метода с использованием именованных аргументов имеет два преимущества. Прежде всего, это наглядность кодов программы. Второе преимущество – в его простоте. С этом случае указывать необходимо только те аргументы, значения которых определяются вызывающей программой.
Примеры использования методов объекта InstBook.Activate ActiveWorkbook.SaveAs Filename: =" D: \VBA2000\NEWFILE.xls", FileFormat: =xlNormal Многие объекты имеют методы, которые возвращают значения так же, как это делает функция. Чтобы использовать значение, возвращаемое методом, необходимо поместить список аргументов метода в круглые скобки и включить вызов метода в оператор присваивания или другое выражение, точно так же, как при использовании функции. Можно также игнорировать результат, возвращаемый методом. Чтобы игнорировать результат метода (если он имеет результат), вызовите метод без круглых скобок вокруг списка аргументов, как если бы метод не возвращал результата. Примеры использования возвращаемых значений методов объекта MsgBox myRange.Address MsgBox myRange.Address(, , xlRlCl) Метод Addressв Excel (который принадлежит объекту Range ) возвращает адрес диапазона ячеек в рабочем листе как строку. Если переменная myRangeссылается на первую ячейку в рабочем листе, то оператор MsgBox в приведенной выше строке примера отображает строку $А$1. Хотя в этом примере метод Addressвызывается без каких-либо аргументов, он, на самом деле, имеет несколько необязательных аргументов. Эти необязательные аргументы определяют стиль адреса ячеек рабочего листа, возвращаемого методом, а также, являются ли координаты ячеек абсолютными или относительными. Во втором примере показан вызов метода Addressс его третьим необязательным аргументом (который определяет стиль возвращаемых координат ячеек): В таблице 3 приведены некоторые из наиболее употребительных или полезных методов в Excel. В таблице представлено имя, краткое описание метода и объекты, имеющие этот метод. Таблица 3
Многие методы имеют большое количество аргументов. Чтобы получить список параметров метода, можно воспользоваться системой Auto Quick Info. Эта система работает следующим образом: как только вы наберете строку, например ActiveSheet.SaveAs( Согласно выданному системой Auto Quick Infoвсплывающему окну метод SaveAsимеет довольно много аргументов, хотя все они — необязательные. Если интуитивно вам непонятно назначение параметров какой-либо функции в окне Auto Quick Info, обратитесь за помощью к справочной системе. Для этого либо выделите, например, строку ActiveDocument.SaveAsи нажмите клавишу F1. В справочной системе очень подробно приведено описание каждого метода, и следует почаще прибегать к ее услугам. Впрочем, Редактор VBA постоянно предлагает эту помощь в процессе вашей работы с ним. Объектные переменные В дополнение к типам Byte, Integer, Long, Single, Double и String VBA также имеет тип Object.Переменные или выражения типа Objectссылаются на объект VBA или на объект, принадлежащий приложению, например Excel-объекты Workbook, Worksheet и Range. Как и в случае с другими типами VBA, можно объявлять переменные в модулях, процедурах и функциях с определенным типом Object, что показано в следующем операторе: Dim myObject As Object Можно задавать переменную myObject, создаваемую предшествующим оператором Dim, чтобы она содержала ссылку на любой объект VBA или объект приложения. Если вы собираетесь использовать переменную типа Objectдля некоторых специфических типов объектов, можно также объявлять объектную переменную для этого специфического типа объекта: Dim InstBook As Workbook Объектную переменную InstBook, создаваемую этим оператором Dim, можно использовать только для сохранения ссылок на объекты Workbook; при попытке присвоить переменной InstBookссылку на объект Range или WorksheetVBA отображает сообщение об ошибке несовпадения типов. Аналогично, следующее предложение объявляет объектную переменную, которая может сохранять только объекты Document: Dim InstDoc As Document Объектное выражение (object expression) — это любое выражение VBA, которое определяет отдельный объект. Все объектные выражения должны вычисляться до единственной объектной ссылки {ссылки на объект); объектные выражения используются с единственной целью — создание ссылок на специфические объекты в ваших программах VBA. Объектное выражение может состоять из объектных переменных, объектных ссылок или объектного метода или свойства, которое возвращает объект. Нельзя использовать переменные типа Objectили объектные выражения в арифметических, логических или операциях сравнения. Объектная ссылка, созданная с помощью объектного выражения или сохраненная в объектной переменной, в действительности, является только адресом, указывающим место в памяти компьютера, где сохранен объект, на который выполняется ссылка. Поскольку объектная ссылка — это адрес памяти, арифметические, логические операторы и операторы сравнения не имеют смысла. Перед использованием объектной переменной для ссылки на объект необходимо задать эту переменную, чтобы она содержала ссылку на нужный объект. Присваивание объектной ссылки объектной переменной отличается от присваиваний других переменных; чтобы присвоить объектную ссылку объектной переменной, используйте оператор Set. Оператор Set имеет следующий синтаксис: Set Переменная=Объект Переменная— это любая объектная переменная или переменная типа Variant. Объект — любая допустимая объектная ссылка; это может быть другая объектная переменная или объектное выражение. Если Переменная— переменная, объявленная с каким-либо определенным типом (например, Rangeили Workbook ), этот тип должен быть совместим с объектом, на который ссылается Объект. Пример использования объектных переменных Dim InstSheet As Worksheet Set InstSheet = Application.ActiveSheet Чтобы задать отдельный объект в выражении или объектную переменную для ссылки на этот объект, используйте методы и свойства, возвращающие объекты, такие как свойства ActiveWorkbook и ActiveSheet объекта Application или метод Cells объекта Worksheet (в Excel). Аналогичные принципы применимы в Word: используйте свойство ActiveDocument объекта Application для получения ссылки на текущий документ и так далее. Ссылка на объекты с помощью With...End With При написании кода программы можно встретить ссылку на один и тот же объект в нескольких операторах. VBA предоставляет особую структуру — структуру With...End With, позволяющую ссылаться.на свойства или методы, которые принадлежат одному и тому же объекту, без задания всей объектной ссылки каждый раз. Структура With...End Withимеет следующий синтаксис: With Object ' операторы, использующие свойства и методы Object End With Object — это любая допустимая объектная ссылка. Пример использования структуры With...End With. Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 501; Нарушение авторского права страницы