Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование методов объекта



Методы объекта используются в операторах 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

Метод Назначение Имеется в объектах
Activate Активизирует объект Window, Workbook, Worksheet, Range и в других объектах
Calculate Выполняет вычисления в откры­той рабочей книге, рабочем листе или диапазоне Application, Range, Worksheet
Clear Удаляет данные, сохраненные в указанном объекте Range
Close Закрывает указанный объект Window, Workbook, Workbooks
Save Сохраняет файл рабочей книги Application, Workbook
SaveAs Сохраняет указанный объект в другом файле Workbook, Worksheet
Select Выбирает указанный объект Range, Sheets, Worksheets

Многие методы имеют большое количество аргументов. Чтобы получить список параметров метода, можно воспользоваться системой Auto Quick Info. Эта система работает следующим образом: как только вы наберете строку, например

ActiveSheet.SaveAs(
система подсказки выдаст на экран список всех параметров метода 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.


Поделиться:



Популярное:

  1. III. Практическое использование водорослей.
  2. IV. Виды бланков документов, их изготовление и использование
  3. SWOT-анализ объекта исследования, группировка ключевых факторов повышения уровня жизни населения
  4. VI. Переведите на английский язык предложения с использованием форм простого будущего времени, либо других способов выражения будущего.
  5. Алгоритм выполнения чертежей с использованием
  6. Анализ ТЭП и разработка предложений по повышению эффективности рассматриваемого объекта.
  7. Более сложное использование вторичного подкрепления
  8. Вопрос 40. Использование индексов в экономико-статистических расчетах. Индекс потребительских цен. Индекс цен производителей промышленной продукции.
  9. Вопрос Использование наступательных стратегий для сохранения конкурентного преимущества
  10. Выбор темы и объекта наблюдения. Методические и методологические основы (аспекты) исследования
  11. Выполнение задачи с использованием СУБД ACCESS.
  12. ГИДРАВЛИЧЕСКИЙ РАСЧЕТ ВОДОПРОВОДНОЙ СЕТИ С ИСПОЛЬЗОВАНИЕМ ЭВМ


Последнее изменение этой страницы: 2016-08-31; Просмотров: 464; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь