Выбрать главу

Созидательные возможности окна программного кода

Зачем печатать программный код самим, если кто-то может напечатать его за вас? Редактор Visual Basic балует вас возможностью автоматического ввода совершенно непригодных для запоминания терминов VBA и как раз в самый подходящий момент. Это не только минимизирует печатную работу, но и гарантирует отсутствие опечаток.

Все эти любезности обеспечиваются несколькими замечательными средствами редактора

Visual Basic, команды вызова которых помещены в меню Edit (Правка).

* List Properties and Methods (Получить список свойств и методов).

* List Constants (Получить список констант).

* Complete Word (Автоматически дополнить слово).

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

Изо всех средств, о которых идет здесь речь, средство List Properties and Methods (Получить список свойств и методов) будет, пожалуй, самым полезным. Вот как этим средством пользоваться. Чтобы сделать что-либо с VBA-объектом, обычно меняют одно из его свойств или вызывают один из его методов. Чтобы идентифицировать свойство или метод, с которым необходимо работать, печатают сначала имя объекта, затем точку (оператор точка), имя свойства или метода.

Например:

Activewindow.Selection.Group

(Подробное описание приемов работы с объектами и их свойствами и методами вы найдете в главе 12.)

Чтобы воспользоваться средством вызова списка свойств и методов, вам нужно только ввести имя объекта и точку. Как только вы это напечатаете, на экране появится небольшое окно со списком всех присущих этому объекту свойств и методов (рис. 5.15). Чтобы найти подходящее свойство или подходящий метод, прокрутите список (с помощью клавиш со стрелками) или напечатайте одну-две первые буквы имени, После того как подходящее имя будет выделено, нажмите Tab, чтобы вставить это имя в свой программный код.

Рис. 5.15. Средство List Properties and Methods очень полезно при вводе в программный код имен свойств и методов

Аналогично это средство работает и при объявлении переменной, только в данном случае возникает список допустимых типов. Например, если начать печатать оператор

Dim Oatmeal As Cereal Object

то, сразу после того как будет напечатано слово As, появится список всех имеющихся типов данных и объектов. Как и выше, можно выбрать нужный пункт из списка, пролистав список или напечатав пару букв, а затем нажав клавишу Tab. Кстати, целый поток информации по поводу объявления переменных ждет вас в главе 7.

Средство вызова списка свойств и методов работает не только для встроенных объектов VBA, но и для определенных вами переменных - за исключением тех, которые имеют тип Variant. Между прочим, это еще одна причина, по которой стоит явно определять переменные. (Подробно об этом - в главе 7.)

Да, и еще один момент. Список свойств и методов появляется автоматически только тогда, когда эта возможность активизирована в диалоговом окне Options (Параметры). Если у вас список не появляется, выберите Tools=Options и проверьте, отмечен ли флажок Auto List Members (Автоматический вызов списка членов). Этот список можно вызвать и соответствующей командой из меню Edit, и с помощью клавиш Ctrl+J.

Использование списка констант

Средство List Constants (Получить список констант) работает практически так же, как и средство получения списка свойств и методов, конечно, за исключением того, что в данном случае отображается список констант, определенных для свойства, с которым вы имеете дело. Этот список появляется сразу же после того, как вы напечатаете знак =, например, в строке оператора

Oatmeal.Texture = Gluey

Лично я не могу понять, почему это средство имеет отдельную команду, а не рассматривается как часть средства List Properties and Methods (Получить список свойств и методов). Но как есть, так и есть, и поэтому для вызова списка констант служит несколько иная комбинация клавиш - Ctrl+Shift+J. А чтобы узнать, как использовать сами константы, загляните в раздел Работа с постоянными значениями в главе 7.

Автоматическое дополнение слов

Средство Complete Word (Автоматически дополнить слово) редактора Visual Basic позволяет автоматически ввести практически любой VBA-термин. Активизируется это средство нажатием Ctrl +пробел. В результате на экране возникает список, наподобие обсуждавшегося выше списка свойств и методов. Но в данном случае в списке будет практически все, что вы могли бы напечатать, - объекты, функции, процедуры, константы, методы, свойства и созданные вами переменные. Исключение составляют лишь ключевые слова для обозначения встроенных типов данных, таких как Integer и Variant.

Если перед тем, как нажать Ctrl+пробел, напечатать одну-две буквы, появившийся список будет значительно короче, поскольку будет содержать только строки, начинающиеся с заданных символов. Более того, если вы напечатаете достаточно начальных символов для того, чтобы в списке осталось только одно слово, редактор Visual Basic дополнит начатое вами, как только будут нажаты клавиши Ctrl +пробел, - и без появления какого бы то ни было списка.

Получение списка аргументов

Многие VBA-процедуры требуют, чтобы при их выполнении были определены один или несколько аргументов. Такие процедуры используют в своих вычислениях (или других выполняемых ими действиях) информацию, содержащуюся в этих аргументах. Подобно процедурам, многие методы объектов также требуют задания аргументов.

Тут уж редактор Visual Basic не напечатает аргументы за вас - он просто не может этого сделать, поскольку не знает, какие конкретные значения должны быть у аргументов. Однако он может отобразить на экране что-то вроде шпаргалки - небольшую всплывающую подсказку со списком всех аргументов нужной функции, с указанием типа данных, требуемого каждым из аргументов, и информацией о том, какие из аргументов необязательны. Это всплывающая подсказка Quick Info (Краткая справка), пример ее появления показан на рис. 5.16.

Рис. 5.16. Всплывающая подсказка Quick Info в действии

Если в диалоговом окне ToolsoOptions отмечен флажок Auto Quick Info (Автоматический вызов краткой справки), всплывающая подсказка Quick info будет неизменно появляться, как только вы напечатаете имя функции, метода или процедуры, для которых требуется указать аргументы. Если же соответствующая возможность отключена, всплывающую подсказку Quick Info можно вызвать нажатием клавиш Ctrl+I.

Существует очень много функций и процедур, которым необходимо указывать несколько аргументов. Чтобы избавить вас от необходимости помнить, где именно в списке аргументов вы находитесь, в подсказке Quick Info печатаемый вами аргумент выделяется полужирным шрифтом.

Как только будет напечатана запятая, говорящая об окончании работы с данным аргументом, выделение полужирным шрифтом в окне подсказки перейдет с этого аргумента на следующий.

Quick Info против Parameter Info

При создании достаточно сложных программ хорошим дополнением к подсказкам Quick Info оказываются подсказки Parameter Info (Справка о параметрах). Часто значение аргумента определяется как значение некоторой функции, например:

MsgBox(Str(AnIntegerVariable))

Здесь функция Str конвертирует целое значение, хранящееся в переменной AnIntegerVariable, в текстовую строку. Эта строка задает аргумент функции Ms gBox (и будет сообщением в том окне сообщения, которое VBA отобразит на экране).

Из-за подобного вложения одних функций в другие подсказки Quick Info может оказаться недостаточно, поскольку Quick Info всегда показывает список аргументов той функции, которая содержит точку ввода. Дополнительный же помощник, подсказка Parameter Info, показывает список аргументов для самой внешней функции, т.е. для той, в которой содержатся все вложенные. Вызвать подсказку Parameter Info можно с помощью клавиш Ctri+Shift+I.