End Sub

В среде программистов VBA определение аргументов методов и свойств часто вызывает определенные трудности. Некоторые методы используют аргументы для дальнейшего уточнения действия; отдельные свойства используют аргументы для дальнейшего определения значения свойства. Иногда один или несколько аргументов вообще применять не обязательно.

Если метод использует аргументы, они указываются после названия метода и разделяются запятыми. Если метод использует необязательные аргументы, то можете пропустить их, оставив пустые места. Рассмотрим метод protect объекта рабочей книги. В справочной системе дается информация о том, что метод Protect имеет три аргумента: пароль, структура, окна. Эти аргументы соответствуют параметрам в диалоговом окне Защита книги. К примеру, если требуется защитить рабочую книгу под названием MyBook . xls , используется такой оператор:

Workbooks("MyBook.xls").Protect "xyzzy", True, False

В данном случае рабочая книга защищена паролем (первый аргумент). Также защищена структура рабочей книги (второй аргумент), но не ее окна (третий аргумент).

Если вы не хотите присваивать пароль, можно применить такой оператор:

Workbooks("MyBook.xls").Protect , True, False

Обратите внимание, что первый аргумент пропущен, а его место обозначено с помощью запятой.

Существует и другой подход (причем в этом случае программу удобнее будет читать) – использование именованных аргументов. Применим именованные аргументы для предыдущего примера.

Workbooks("MyBook.xls").Protect Structure:=True, _

Windows:=False

Использование именованных аргументов – хорошая идея, особенно в методах с большим количеством необязательных аргументов, когда следует использовать только некоторые из них. При использовании именованных аргументов не требуется оставлять место для пропу­щенных аргументов.