Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Существуют два способа передачи аргументов в метод: по позиции и по имени.
При передаче аргументов по позиции вы просто добавляете их к вызову метода, разделяя запятыми. ОБРАТИТЕ ВНИМАНИЕна порядок следования аргументов! Для метода Close, например, правильный порядок таков: saveChanges, fileName, routeWorkbook.
Ниже приведен пример вызова метода Close со всеми тремя аргументами, переданными по позиции:
Workbooks("Мои таблицы.xls").Close True, _
"Мои таблицы-2.xls", False
В данном примере метод Close закрывает рабочую книгу Мои таблицы.xls, сохраняя её под именем Мои таблицы-2.xls.
ОБРАТИТЕ ВНИМАНИЕна символ подчеркивания в конце первой строки. Он означает, что команда продолжается на следующей строке. Перед символом подчеркивания необходимо ввести пробел!
Чтобы пропустить какой-то аргумент (например, второй), вставьте вместо него пробел:
Workbooks("Мои таблицы.xls").Close True,, False
При передаче аргумента по имени надо указать в вызове три элемента:
– имя аргумента (например, saveChanges);
– оператор присваивания с двоеточием (:=);
– значение аргумента.
В следующем примере метод Close вызывается с аргументами, передаваемыми по имени:
Workbooks("Мои таблицы.xls").Close _
saveChanges:=True, fileName:="Мои таблицы-2.xls", _ routeWorkbook:=False
Передавая аргументы по имени, не обязательно соблюдать их порядок. Приведенный ниже код идентичен предыдущему:
Workbooks("Мои таблицы.xls").Close _
routeWorkbook:=False, savChanges:=True, _
fileName:="Мои таблицы-2.xls"
При передаче аргументов по имени программа становится более понятной, а по позиции – более короткой.
1.2. Ссылки на одиночные объекты
и объекты из семейств
Как уже говорилось, при обращении к свойству или методу объекта их имена просто добавляют к имени объекта, отделяя от него точкой. Ссылка же на сам объект может выглядеть по-разному. К одиночному объекту семейства обращаются либо по имени, либо по его номеру в семействе объектов. Чтобы разобраться, чем отличаются два этих способа, уясним себе, что такое семейство (collection). Если не вдаваться в детали, семейство – это группа похожих объектов. Все объекты Excel можно отнести к одному из двух приблизительно равных по численности классов: одиночным объектам и объектам из семейства [3]. К первым обращаются непосредственно, ко вторым – по имени или по номеру. В предыдущих примерах обращение к рабочей книге Мои таблицы.xls было оформлено с помощью указателя на объект семейства Workbooks [4]по имени.
1.2.1. Различия между одиночными объектами
и объектами из семейств
Как же узнать, является объект одиночным или входит в семейство? Для этого надо применить простые, интуитивно понятные правила.
Правило 1. Одиночный объект может существовать в данный момент времени только в одном экземпляре. Другими словами, он уникален.
Правило 2. Объекты из семейства могут существовать одновременно в нескольких экземплярах.
В Excel может быть открыто несколько рабочих книг, поэтому к объекту Мои таблицы.xls можно было бы, согласно правилу 2, обратиться по индексу, предварительно узнав его порядковый номер. Следующий пример демонстрирует эту возможность:
Sub СсылкаНаКнигуПоИндексу()
'1. Объявляем переменные:
Dim Автор As String
Dim КолОткрытыхКниг As Integer
'2. Определяем количество открытых книг:
КолОткрытыхКниг = Workbooks.Count
'3. Ищем среди открытых книг книгу с именем Мои таблицы.xls:
For i = 1 To КолОткрытыхКниг
If Workbooks(i).Name = "Мои таблицы.xls" Then
Автор = Workbooks(i).Author
MsgBox "Автор этой книги: " & Автор
Exit Sub
End If
Next i
MsgBox "Книга Мои таблицы.xls среди открытых книг не найдена!"
Дата публикования: 2014-11-26; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!