Стив Каммингс - VBA для чайников
Рис. 5.13. ЭТИ светлые овалы на полосе в левой части окна программного кода представляют закладки. По умолчанию на цветном мониторе они голубого цвета
Закладки в программном коде
Предположим, сейчас 3 часа ночи. Ваши глаза слипаются, и вас клонит ко сну, но сроки нещадно поджимают, и вы упорно отбиваете на клавиатуре строку за строкой довольно однообразный программный код. Вдруг - прилив вдохновения - вы понимаете, как можно решить одну важную программистскую проблему, над решением которой вы перед этим уже безрезультатно бились добрую половину дня.
Прежде чем перейти в тот модуль, в котором будет воплощена ваша гениальная идея, поместите закладку в том месте, где вы работаете в данный момент. И когда наступит время вернуться, вы без труда очень быстро отыщете дорогу назад, подобно Гензелю и Гретель.
Чтобы поместить закладку в строку программного кода (точнее, рядом со строкой программного кода; рис. 5.13), щелкните на кнопке Toggle Bookmark (Добавить закладку).
Все относящиеся к закладкам кнопки находятся в панели инструментов Edit (Правка), поэтому, чтобы получить доступ к ним, нужно отобразить эту панель инструментов на экране. Иначе можно использовать соответствующую команду меню (Edit=Bookmarks=Toggle Bookmark), но это существенно более длинный путь. (Это жестоко, но Microsoft не предусмотрела комбинации клавиш для закладки.) Закладок можно разместить столько, сколько вы пожелаете.
Ясно, что сама по себе закладка не принесет никакой пользы. Щелкайте на кнопках Next Bookmark (Следующая закладка) и Previous Bookmark (Предыдущая закладка) для последовательного перехода от закладки к закладке, пока не доберетесь до места назначения.
Чтобы удалить отдельную закладку, поместите текстовый курсор в строку с этой закладкой и снова щелкните на кнопке Toggle Bookmark. Если же закладок набралось столько, что использование команд перехода от закладки к закладке уже почти эквивалентно использованию полосы прокрутки, удалите все закладки сразу одним щелчком на кнопке Clear All Bookmarks (Удалить все закладки).
Разделение окна программного кода
Любое окно программного кода можно разделить на два (рис. 5.14). Это позволит вам видеть одновременно различные части программного кода одного и того же модуля. В этом случае очень удобно также копировать текст из одной части программного кода в другую.
Рис. 5.14. Я разделил это окно программного кода
Чтобы разделить окно программного кода, используйте линию разбивки - маленький серый бегунок сразу над верхней стрелкой вертикальной полосы прокрутки в правой части окна. Перетащите линию разбивки вниз, установив подходящие размеры частей окна. Чтобы вновь сделать окно единым, уберите линию разделения двойным щелчком на ней или перетащите ее снова на самый верх окна.
Созидательные возможности окна программного кода
Зачем печатать программный код самим, если кто-то может напечатать его за вас? Редактор 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.