- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
Но вам будет не лишним знать, что совсем не обязательно ограничиваться минимальными изменениями и усовершенствованиями существующих приложений; VBA позволяет создавать полноценные и в высшей степени сложные программы, способные конкурировать с мощью готовых продуктов, имеющихся на рынке приложений.
Пользовательские программы, созданные с помощью VBA, интенсивно используют функциональные возможности того VBA-приложения. на которое они опираются (пользовательская
VBA-программа сумеет использовать функциональные возможности из нескольких VBA приложений одновременно). Однако перед пользователем такая программа предстает как цельный самостоятельный объект со своим собственным набором окон, кнопок и меню.
Создание полномасштабной пользовательской программы - штука достаточно амбициозная. Но эта книга предлагает практически всю необходимую для этого информацию, в том числе и вводное описание способов одновременного доступа из программы к нескольким VBA-приложениям.
Кстати, VBA не обязывает вас использовать функциональные возможности приложения.
При желании совершенно игнорируйте их, используя только созданные самостоятельно. Но для запуска даже такой пользовательской программы все равно потребуется VBA-приложение (между прочим, в Visual Basic такой проблемы нет). Здесь вас подстерегает еще одна неприятность, но о ней мы поговорим позже, в подразделе Почему VBA обычно медленнее, чем Visual Basic.
Совсем не тот BASIC
Можно сказать, что VBA является прямым наследником оригинального языка программирования, получившего имя BASIC. Так сказать, безусловно, можно, но смысла в этом примерно столько же, сколько в утверждении, что эволюция человека восходит к амебе - уж слишком многое с того времени изменилось.
Оригинальная версия языка BASIC была создана в 1960-х годах в надежде облегчить программирование для широкой аудитории. BASIC расшифровывается как Beginner's Allpurpose Symbolic Instruction Code. По сравнению с такими языками программирования, как C++ или FORTRAN, команды языка BASIC более сходны с фразами обычного английского языка, поэтому эти команды проще понять и запомнить.
Многие из слов специального назначения, используемые в VBA, присутствовали уже в оригинальном языке BASIC и имели там сходные функции. Точно так же грамматика VBA - определенные правила и порядок, в соответствии с которыми слова образуют выражения, - берет свое начало в языке BASiC.
Однако язык VBA значительно эволюционировал по сравнению с ранними версиями языка BASIC, оставив их далеко позади. Многие из команд VBA, а также правила их применения в языке BASIC вообще отсутствуют. Проще говоря, язык VBA может больше - и значительно больше, - чем старый добрый BASIC, особенно в том, что касается вывода на экран всевозможных интересных форм и взаимодействия с другими приложениями.
Кроме того, VBA - это не только язык программирования, он включает также полноценную интегрированную среду разработки с полным набором специализированных окон, призванных помочь вам в проектировании, отладке и тестировании программ (читайте ниже подраздел Интегрированная среда разработки приложений VBA). VBA имеет еще кое-что из того, о чем BASIC не мог и мечтать - позволяет создавать замысловатый пользовательский интерфейс без необходимости печатания программного кода вручную. Как уже упоминалось, именно это и превращает VBA в визуальное средство разработки приложений.
Интегрированная среда разработки приложений VBA
Вся работа с VBA происходит в интегрированной среде разработки. Этот термин может выглядеть холодно и пугающе, но не давайте ему себя запугать, - вы должны воспринимать интегрированную среду разработки как уютный дом, где можно выполнить всю программистскую работу в тепле и комфорте.
Интегрированная среда разработки, предлагаемая VBA, представлена как редактор Visual Basic. Редактор Visual Basic представляет собой окно приложения с одним меню и набором панелей инструментов, в котором вы получаете доступ к целому ряду дочерних окон, обеспечивающих возможность использования всех средств, необходимых для создания программ.
На рис. 1.3 представлена версия редактора Visual Basic, предлагаемая Visio, но выглядит она точно так же, как и те, которые предлагаются в других VBA-приложениях.
Не все VBA-приложения имеют встроенный редактор Visual Basic (подробнее об этом речь идет ниже, в подразделе Другие диалекты VBA).
Рис. 1.3. Внешний вид редактора Visual Basic в Visio
Подробное описание редактора Visual Basic вы найдете в главе 5 этой книги. Пока же ознакомьтесь со следующим списком некоторых элементов экипировки этого редактора, что ласт вам хотя бы поверхностное представление о том, что он предлагает.
* Место для проектирования форм (диалоговых и других окон), которые будут использоваться в создаваемой вами программе.
*Панель, из которой можно выбирать кнопки, флажки и другие элементы управления, которые вы пожелаете поместить в формы (читайте ниже подраздел Элементы управления ActiveX и другие).
* Окно, с помощью которого можно сообщить VBA, как должны выглядеть и что должны уметь делать формы и элементы управления на них.
* Окна для ввода и редактирования программного кода VBA, с помощью которого вы можете заставить свою программу делать что-нибудь полезное.
* Окна с текущими значениями переменных- числа и текст, которые в них хранятся и меняются, - во время выполнения программы (эти окна значительно облегчают жизнь, когда наступает сезон охоты на спрятавшиеся в программе ошибки).
Макросы и VBA
Чаше других используется способность VBA объединять в группу последовательность различных команд приложения. Если приходится часто использовать одни и те же команды в одной и той же последовательности, имеет смысл сохранить эту последовательность в виде VBA-программы. В результате вы сможете активизировать всю эту последовательность одной командой - той самой, которая запускает созданную вами с этой целью VBA-программу.
Между макросом, который создается в процессе записи, и VBA-программой, код которой вы печатаете вручную, нет никакой - вообще никакой - принципиальной разницы, если, конечно, не считать сам способ создания. Вы можете редактировать программный код макроса, добавляя в него или удаляя из него элементы точно так же, как будто вы напечатали код макроса своими собственными руками.
Создать VBA-программу этого типа проще всего с помощью непосредственной записи всей последовательности выполняемых команд. Для этого большинство VBA-приложений предлагает средство записи макросов, которое работает подобно магнитофону. С того момента, как вы даете указание начать запись макроса, начинают записываться все команды, которые вы используете в приложении. После того как вы остановите запись, средство записи макросов конвертирует записанные команды в эквивалентные им строки VBA-кода. Полученная в результате этого VBA-программа имеет специальное название - макрос. Все тонкости процесса записи макросов обсуждаются в главе 2.
Элементы управления ActiveX и другие
В любой программе для Windows элементы управления - это все те бедолаги на экране, на которых можно щелкнуть или что-нибудь напечатать, чтобы вызвать определенное ответное действие программы. Среди самых распространенных элементов управления следует упомянуть кнопки па панелях инструментов и в диалоговых окнах, переключатели и флажки, предназначенные для выбора заранее определенных опций, и текстовые поля, в которых можно вводить или изменять данные. Пример диалогового окна с множеством различных элементов управления показан на рис. 1.4.
VBA содержит все эти. а также вообще все стандартные для Windows типы элементов управления. Работают они подобно подключаемым компонентам. Чтобы добавить элемент управлений в любую из форм (например, в диалоговое окно), щелкните на соответствующем элементе управления в панели элементов управления (специальной панели инструментов, пример которой показан на рис. 1.5), а затем щелчком на форме прилепите этот элемент к форме.
Благодаря технологии, загадочно называемой ActiveX, можно не ограничиваться элементами управления, предлагаемыми VBA. Разработанная тоже Microsoft, ActiveX определяет стандарт, в соответствии с которым разработчики программного обеспечения создают взаимозаменяемые элементы управления, которые вы можете при желании подключать к своим программам. Элементы управления, предлагаемые VBA, являются элементами управления ActiveX, но, кроме них, есть еще очень много других. Элементы управления ActiveX работают не только в VBA-программах, но и в программах, созданных с помощью C++ или Java.
Чтобы получить возможность использовать в своих VBA-формах новый элемент управления ActiveX, достаточно добавить его в панель элементов управления (за инструкциями обратитесь к главе 14). После этого с ним можно обращаться точно так же, как и с элементами управления, изначально присутствующими в VBA.