- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
3. Нажмите Enter или щелкните на кнопке Search (Найти), на которой изображен бинокль.
После обязательного при этом дребезжания жесткого диска вы увидите удовлетворяющие условию поиска объекты в новой, специально появившейся для этого панели Search Results (Результаты поиска) над панелями со списками. Здесь тоже можно изменить размеры любого из столбцов, если они слишком малы для отображения нужных объектов.
4. Чтобы закрыть панель Search Results, щелкните на кнопке с двойной направленной вверх стрелкой рядом с кнопкой Search.
Если щелкнуть на той же кнопке еще раз (но теперь на ней будет изображена двойная стрелка, направленная вниз), панель Search Results появится снова.
Использование информации из окна обозревателя объектов в программном коде
Обозреватель объектов удовлетворит любое любопытство к объектам в проекте, но, кроме того, он может служить и довольно неплохим средством создания программного кода. После того как вы найдете что-либо, что хотели бы использовать в своей программе, нажмите Ctrl+C или щелкните на кнопке Copy to Clipboard (Копировать в буфер), чтобы поместить найденное в буфер обмена. После этого переключитесь в окно программного кода и вставьте содержимое буфера обмена в свою программу. Такой метод гарантирует, по крайней мере, отсутствие синтаксических ошибок - вы же знаете, что даже самая ничтожная опечатка может свести с ума любую программу (другими словами, программа никогда не выполняется правильно с первого раза).
Секреты кодирования
Окна Code (Окна программного кода) - это сердце редактора Visual Basic: в них вы создаете VBA-операторы, непосредственно выполняющие полезную работу. В этой главе я не собираюсь говорить об использовании VBA-операторов, сосредоточусь на том, как получить максимум пользы от окна программного кода при создании программы. В VBA имеется три типа объектов, с которыми ассоциированы окна программного кода, - это модули, модули классов и пользовательские формы. И хотя все эти объекты выполняют в VESA разные функции, которые обсуждаются в последующих главах, их окна программного кода выглядят и работают совершенно аналогично.
Вызов окна программного кода
Для того чтобы открыть окно программного кода для существующего модуля, модуля класса или пользовательской формы, в редакторе Visual Basic предусмотрен целый ряд совершенно различных способов. Сначала нужно найти и выделить объект в окне проводника проектов. После этого для вызова соответствующего окна программного кода можно выполнить любое из следующих действий.
* Нажать клавишу F7.
* Щелкнуть на кнопке View Code в верхней части окна проводника проектов.
* Щелкнуть на объекте правой кнопкой мыши и выбрать View Code из появившегося контекстного меню.
* Выбрать View=Code.
* В случае модуля (но не пользовательской формы!) дважды щелкнуть на нем или нажать клавишу Enter.
Если вы находитесь в окне пользовательской формы, то нажатие клавиши F7 или выбор View=Code откроет окно программного кода этой пользовательской формы.
Создание нового окна программного кода
При добавлении в проект нового модуля автоматически открывается новое окно пользовательского кода для этого модуля. (Процесс добавления новых модулей обсуждается в главе 6.) При создании новой формы для нее автоматически создается и окно программного кода (но вы не увидите его, пока не выполните действия, описанные в предыдущем разделе).
Печатание программного кода
Окна программного кода в VBA являются, по сути, простыми текстовыми редакторами, правда, у них есть специальные возможности для создания и редактирования именно VBA-кода.
Печатание VBA-операторов происходит точно так же, как и в обычном текстовом процессоре, с использованием тех же приемов работы с текстовым курсором и клавиш редактирования текста, стандартных для Windows (нажатие клавиши Ноте осуществляет переход в начало строки, a Ctrl+Home - в начало окна). Точно так же можно выделять текст либо с помощью мыши, либо нажав и удерживая клавишу Shift при перемещении курсора.
Как и любой уважающий себя текстовый редактор начала нового тысячелетия, окно программного кода поддерживает возможность перетаскивания выделенного текста. После того как текст, с которым вы хотели бы работать, выделен, вы можете сделать следующее.
* Переместить выделенный текст, перетащив его в другое место и опустив там.
* Скопировать выделенный текст в другое место, действуя так же, как и при перемещении, но с нажатой клавишей Ctrl.
Можно перетаскивать текст в новую позицию в том же окне, в другое окно программного кода, а также в окна Immediate (Окно немедленного выполнения команд) и Watches (Окно контролируемых выражений). Если пунктом назначения является другое окно программного кода, то перед тем, как начать перемещение, нужно разместить окна так, чтобы и исходный текст, и место назначения были видны на экране. (Краткое описание окна немедленного выполнения команд и окна контролируемых выражений вы найдете ниже, в разделе Краткое знакомство с окнами для отладки.)
Окно программного кода позволяет отменить последние из внесенных изменений в программный код. Каждый раз, когда вы нажмете Ctrl+Z или выберете Undo (Отменить ввод) из меню Edit (Правка), будет отменено следующее из изменений. Меню Edit предлагает и команду Redo (Повторить ввод)- отмену применения команды Undo, - но команде Redo в редакторе Visual Basic не назначено никакой комбинации клавиш для быстрого ее вызова с клавиатуры.
Идеальный тренер
Как надежный слуга, редактор Visual Basic постоянно (но ненавязчиво) проверяет и подправляет вашу работу следующим образом.
* Если вы напечатаете одну строку программного кода с отступом, тот же отступ автоматически будет установлен и для следующих строк (это можно отключить, выбрав сначала ToolS=Options из меню, а затем в появившемся диалоговом окне сняв флажок Auto Indent (Автоматический отступ)).
* Если редактор Visual Basic распознает ключевое слово, он автоматически перепишет его с прописной буквы в соответствии с соглашениями VBA (например, если вы напечатали If. . .then. . .else, редактор превратит это в If. . .Then. . .Else ).
Кроме того, ключевые слова автоматически выделяются цветом (по умолчанию - синим), чтобы они были видны на фоне других слов.
* Когда в окне программного кода, создавая процедуру, вы вводите ключевое слово Sub (или Function), за которым следуют скобки со списком аргументов внутри них, редактор Visual Basic автоматически дописывает за вас необходимый в этом случае оператор End Sub (или End Function). Обратите внимание, что между процедурами вставляется также строка-разделитель. щ S Наконец, что еще важнее, если напечатать VBA-оператор, который явно не полон или каким-либо другим образом не согласуется с синтаксисом языка, редактор Visual Basic отобразит на экране соответствующее сообщение (рис. 5.12). Благодаря такому немедленному замечанию вы можете исправить ошибку, чтобы потом не вспоминать, как вы собирались дополнить этот оператор. Если же вы игнорируете предупреждение, редактор Visual Basic изменит цвет оператора на красный, чтобы напоминать о том, что в данном операторе что-то не так.
Рис. 5.12. Если строка программного кода не отвечает установленным правилам синтаксиса, редактор Visual Basic выводит на экран сообщение, подобное показанному здесь
Перемещение в окне программного кода
В программном коде практически любой программы может оказаться немало строк, и тогда простое перелистывание текста программы в окне программного кода для поиска будет выглядеть слишком примитивным в таком элегантном окружении. Куда лучше воспользоваться возможностями, предоставляемыми двумя раскрывающимися списками вверху окна программного кода (рис. 5.13). Они могут перенести вас прямо к той процедуре, которую вы хотели видеть или редактировать. Вот что могут эти раскрывающиеся списки.
* Раскрывающийся список слева- это список объектов. В окне программного кода модуля здесь присутствует только пункт ( General ) (Общие), так что в случае модуля на этот список можно не обращать внимание вообще. Другое дело, когда вы работаете в окне программного кода для формы. В этом случае из списка объектов вы можете выбрать конкретный помещенный в форму элемент управления (или саму форму). В результате такого выбора в окне программного кода будет показана процедура, являющаяся для соответствующего объекта процедурой по умолчанию.
* Раскрывающийся список справа - это список процедур/событий. Здесь можно выбрать либо раздел ( Declarations ) (Объявления) для всего окна, либо конкретную процедуру, чтобы отобразить в окне соответствующий программный код. Если вы находитесь в окне программного кода формы, этот список будет содержать только события, допустимые для объекта, выбранного в списке объектов. При выборе события в окне программного кода появляется процедура, соответствующая этому событию.