- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
И если вы знаете VBA, вы автоматически превращаетесь в эксперта по Visual Basic. Еще один продукт фирмы Microsoft, Visual Basic представляет собой одно из наиболее популярных в мире средств разработки программ самого разного уровня - от простейших условно-бесплатных утилит до приложений высшего класса.
Кстати, одно из преимуществ VBA-стандарта объясняется тем, что вам нужно установить всего лишь одну копию тех файлов поддержки, которые потребуются при работе с VBA в любом из приложений. При стандартной установке все DLL файлы (библиотеки динамической компоновки), как и другие необходимые для VBA файлы, размещаются в папке Program FilesCommon FilesMicrosoft SharedWBA.
VBA - это штурвал, но к нему нужен еще и корабль
Теперь ясно, что VBA - прекрасное средство для усовершенствования приложений.
Однако тут скрыта одна загвоздка: поддержка VBA должна быть встроенной в то приложение, которое вы собираетесь модифицировать. (В этой книге я буду использовать термин VBA-приложение для обозначения тех приложений, в которые встроена поддержка VBA, а те программы, которые создаются с помощью VBA, я буду называть VВА-программами.)
Microsoft - вы, наверное, уже слышали об этой компании - создала VBA и обеспечила поддержку VBA во всех своих главных приложениях: Office 97, Office 2000, Office ХР, Word, Excel, Access и PowerPoint. В Outlook, единственном не упомянутом в этом ряду приложении из пакета Microsoft Office, для создания и изменения функциональных возможностей форм вы можете воспользоваться упрощенной версией VBA, получившей название VBScript. В отличие от вышедших раньше версий, Outlook 2002 (как и ее предшественница Outlook 2000) содержит полноценную поддержку VBA для модификации функциональных возможностей самой программы Outlook. VBA поддерживают также FrontPage, средство автоматизации разработки Web-страниц и управления Webузлами фирмы Microsoft, Visio - популярный пакет создания графики для бизнеса, а также Microsoft Project.
VBA-приложения третьих фирм
Многие разработчики программных средств получили лицензию фирмы Microsoft на использование технологии VBA. Вот список некоторых из доступных на сегодня VBA приложений, предлагаемых третьими фирмами.
* Corel WordPerfect Ofilce 2000, Соперник Microsoft Office, включает текстовый процессор, приложения для обработки электронных таблиц, баз данных и для создания презентаций.
* CorelDraw. Являясь самым популярным пакетом для работы с рисунками, CorelDraw вместе с набором других программ из пакета позволяет создавать и обрабатывать как векторную графику, так и растровые изображения, печатать их либо размещать на и Web-страницах.
* AutoCAD. Пользующийся большим успехом продукт фирмы Computer Aided Design; некоторые другие приложения этой фирмы также являются VBA-приложениями.
* M.Y.O.B. Accounting. Полный набор средств бухгалтерского учета для малого бизнеса.
* Micrografx iGrafx. Приложения для создания бизнес- графики - блок-схем, организационных диаграмм и т.п., а также для графического моделирования бизнес-операций.
* OmniTrader. Приложение для оценки и анализа рисков.
Встречаются приложения, в которые встроены средства программирования, очень похожие на VBA, но отличные от VBA. При этом, хотя вы и получаете возможность модифицировать эти приложения практически так же, как VBA-приложения, ваши VBA-программы выполняться в этих He-VBA-приложениях не будут.
О распространенности VBA-приложений
Практически всегда можно утверждать, что приложение, которое легко модифицировать, чтобы оно отвечало нужным требованиям, обладает большей привлекательностью. По этой причине YBA встречается в приложениях почти любого вида- от самых популярных до самых узкоспециализированных.
В мире используются многие миллионы копий Microsoft Office, так что уже одни только приложения Office сами по себе окажутся вполне широким полем действия. Имеющие довольно широкую известность, VBA-приложения других фирм я уже тоже называл (такие как WordPerfect, Visio, AutoCAD).
Вместе с тем, многие VBA-приложения направлены на более узкие специализированные рынки. В качестве примера можно назвать приложения для управления производством, использующим роботизированные линии. Еще одним примером являются приложения для информационной поддержки, которые используются в группах технической поддержки, призванных помочь потребителям или персоналу других подразделений решать возникающие проблемы. VBA можно также обнаружить и в программном обеспечении для торговли, строительной инженерии, телефонии, обработки данных, управления потоками документов, финансового обслуживания, юридической поддержки и медицины.
Лицензии на VBA получили также целый ряд корпораций, которые не являются участниками рынка программного обеспечения. Эти компании занимаются разработкой приложений с нуля для своих собственных нужд, учитывая специфические потребности каждой конкретной фирмы. И даже в этом случае они встраивают в свои приложения поддержку VBA, чтобы впоследствии эти приложения можно было модифицировать и расширять, затрачивая при этом минимум усилий.
Программирование на VBA
По сути, программировать- это значит говорить компьютеру, что он должен делать. Создавая компьютерную программу, вы даете компьютеру некоторый набор шагов, по которым ему предписано следовать. Например, вы можете указать компьютеру сделать следующее.
* Открыть окно, полное интересных кнопочек и меню.
* Создать поле и ввести в него дату вашего рождения.
* Щелкнуть на кнопке Вычислить возраст, которая вычислит ваш возраст, основываясь на введенной дате.
Еще не так давно создание программы означало необходимость самому выписывать все инструкции программы. Поскольку компьютеры не понимают человеческого языка, программистам нужно было печатать программный код - список всех таких инструкций, - используя терминологию одного из специальных языков программирования.
VBA исключает необходимость печатать программный код, определяющий то, как ваша программа будет выглядеть на экране. Тем не менее, написание программного кода вручную все еще требуется для любой программы, независимо от ее сложности. Частью VBA является язык программирования. Вот пример VBA-кода:
Sub SelectNextQuestion( )
If SelectionStrategy = Randomly Then
AskRandomQuestion
Else If CurrentQuestion = TotalQuestions Then
CurrentQuestion = 1
Else
CurrentQuestion = CurrentQuestion +1
End If
End Sub
Если вы немного знаете английский язык и прочли этот пример программного кода достаточно внимательно, вы должны догадаться, что здесь предполагается выполнить. Одно из лучших качеств языка VBA заключается в том, что он имеет достаточно много общего с обычным английским языком. Правда, выглядит он как довольно ломаный английский, но не волнуйтесь- как раз в этой книге я постараюсь обучить вас свободному владению языком, с помощью которого пишется VBA-код.
Что визуального в Visual Basic для приложений?
К счастью, VBA во многом избавляет от необходимости нудного печатания программного кода. В одних случаях вы записываете команды, которые нужны в приложении, и используете их в качестве отправной точки при создании новой программы.
В других случаях VBA позволяет создавать части программы, которые отвечают за появляющиеся на экране объекты (диалоговые окна, кнопки, флажки, переключатели и т.п.), просто рисуя их с помощью мыши или выбирая опции из диалоговых окон. Именно это позволяет назвать VBA визуальным программным средством. С помощью VBA вы можете построить экранное представление своей программы, почти не затратив на это времени. Если бы вам пришлось определять те же элементы и программировать их появление на экране вручную, вам потребовались бы на это часы, дни, а может, и годы.
К сожалению, VBA не может заранее угадать, что должна делать ваша программа. Вам все равно придется печатать программный код, определяющий функции кнопок, флажков и переключателей в вашей программе. И даже если в программе нет ни кнопок, ни переключателей, вам понадобится напечатать программный код для тех шагов, которым программа должна следовать при ее выполнении.
Главные события
В VBA событие означает нечто, что случается при выполнении программы, если необходимо изменить ее ход. Самый простой пример- щелчок кнопкой мыши. Когда пользователь вашей программы щелкает на кнопке с надписью Вычислить возраст, это действие является событием.
Точно так же всегда случается событие, когда пользователь нажимает клавишу на клавиатуре, дважды шелкает кнопкой мыши или просто двигает мышь.
Конечно же, ваша программа не может отвечать на все эти события с помощью телепатии. Напротив, для каждого события, которое должна распознавать программа, вам нужно самому написать процедуру обработки события, представляющую собой специальную порцию программного кода VBA. Вам потребуется одна процедура обработки события, чтобы отвечать на щелчки на кнопке Вычислить возраст, но потребуется еще одна, если вы сочтете необходимым выполнять какие-либо действия и тогда, когда указатель мыши просто помещается на кнопку без щелчка. Ясно, что, если у вас есть еще кнопка Солгать про возраст, потребуется дополнительная процедура обработки события для щелчка на этой кнопке. Тема создания процедур обработки событий подробно обсуждается в главе 10.