Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Основы программирования >> Именованные аргументы

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Именованные аргументы


Запись макроса
Как найти макрос в проекте
Написание новой процедуры
Процедуры типа Sub и Function
Закрытые и открытые процедуры
Использование значения, возвращаемого функцией
Выполнение процедуры Sub
Передача аргументов в процедуру
Именованные аргументы
Написание процедур для обработки событий
Где хранится код обработки события
Средства, ускоряющие написание программ
Как написать легкочитаемую программу
Проекты документов и шаблонов
Модули классов

Если у созданной Вами процедуры или у встроенных функции, оператора, метода есть несколько необязательных параметров, то, возможно, Вам будет удобнее передавать аргументы по их именам, а не позициям.

Например, метод Open объекта Workbooks в Microsoft Excel, открывающий рабочую книгу, принимает 13 аргументов. Если Вам нужно написать код, открывающий рабочую книгу Book2.xls и добавляющий ее в список последних открытых файлов, Вы могли бы использовать оператор:

Workbooks.Open "book2.xls" , , , , , , , , , , , , True

Но он так и провоцирует на ошибки, ведь в такой массе запятых запутаться немудрено. Да и код читать очень трудно ? не понятно, к чему относится конкретный аргумент. Поэтому гораздо лучше написать так:

Workbooks.Open FileName:="books2.xls", AddToMru:=True

В этом случае, так как у каждого аргумента свое имя, можно присвоить значение аргументу, используя его имя и операцию :=. Работая с именованными аргументами, нет нужды запоминать порядок их следования. Скажем, в предыдущем операторе аргументы можно указать в обратном порядке:

Workbooks.Open AddToMru:=True, FileName:="books2.xls"

Вы вправе применять именованные аргументы и в своих процедурах. Visual Basic автоматически связывает имена аргументов с соответствующими процедурами. Допустим, Вы создали процедуру FormatList, которая принимает два обязательных и два необязательных аргумента:

Sub FormatList(startRow As Integer, startCol As Integer, _
     Optional redText, Optional sortList)

Другая процедура (DoList) вызывает FormatList с передачей аргументов по именам:

Sub DoListO
     FormatList redText :=True, startCol :=2, startRow:=2
End Sub

Здесь аргументы расставлены не в том порядке, в каком они объявлены, а один аргумент опущен.


Примечание:
Использование именованных аргументов не отменяет необходимости передачи обязательных аргументов.



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017