Стив Каммингс - VBA для чайников
Стив Кяммингс занимается программированием больше 20 лет, используя такие разные языки программирования, как ассемблер, COBOL и C++, а также VBA и Visual Basic. Он автор и соавтор более десятка компьютерных книг, среди которых и книга Секреты Office 97, выпушенная издательством Диалектика. Кроме того, ему принадлежат сотни статей, опубликованных в известных компьютерных журналах, в том числе PC World, Macworld, PC Magazine, PC/Computing и PC Week.
Моей бабушке по поводу 97-летия
Спасибо всем сотрудникам издательства Hungry Minds, а особенно моим редакторам:
Джеймсу Расселу (James Russel), который проявил немало внимания и терпения при работе над настоящей книгой, а также Джейд Вильяме (Jade Williams) и Кэлли Оливер (Kelly Oliver).
Я благодарен компании VCommunications (www.v-com.com) за предоставление таких программных продуктов, как System Commander и Partition Commander. Это замечательные утилиты для настройки работы нескольких операционных систем на одном компьютере, что мне требовалось при работе с beta-версиями Microsoft Office XP. Также спасибо Лизе Роббинс (Lisa Robbins) из компании Waggener Edstrom, подразделения компании Microsoft, за помошь при знакомстве с нюансами новой версии VBA, а также за предоставление пробных версий программных продуктов компании Microsoft, необходимых мне при работе.
Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA (аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений).
Благодаря этой книге вы узнаете об основных принципах программирования в VBA и получите необходимые навыки для создания полезных программ. А самое главное, вы сможете сделать это без лишних усилий.
В книге использовано много примеров, написана она легко и понятно, поскольку, кто знает, сколько скучных томов уже издано в этом мире! Я попытался изложить все самым обычным языком, по возможности исключив из употребления режущий ухо нормального человека специальный жаргон. И с этого момента я начинаю отпускать (иногда не самые лучшие) шуточки, чтобы вам было на что направить свое раздражение.
С другой стороны, обсуждение рассматриваемых вопросов не слишком упрощено, иначе оно было бы лишено всякой ценности. Если отбросить шутки в сторону, то эта книга- полноценное справочное пособие, охватывающее все основные разделы VBA.
Вы, наверное, уже знаете, что VBA - это язык программирования, встроенный во множество программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов.
В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы найдете достаточно полную информацию по следующим темам:
* использование преимуществ визуальных средств программирования VBA;
* запись и редактирование макросов;
* запуск VBA-программ из других приложений;
* создание приятных на вид диалоговых окон и других элементов интерфейса;
* работа с объектами, которая станет ключом к использованию всей силы VBAt приложений.
В настоящей главе рассмотрены версии VBA с версии 6 по 6.3 (VBA6.3 входит в состав приложений Microsoft Office ХР). Согласно данным компании Microsoft, все версии VBA, начиная с версии 6 и заканчивая версией 6.3, с точки зрения программиста совершенно идентичны.
Компания Microsoft исправила некоторые ошибки, улучшила производительность, но способы написания программного кода или создания диалоговых окон не изменились. Поэтому, когда я говорю о VBA б, это касается как VBA 6.0 и VBA 6.3, так и всех промежуточных версий.
Не следовало бы делать предположений...
Но я все же сделаю. Я предполагаю, что вы не такой уж и чайник, наоборот, думаю, вы должны весьма комфортабельно чувствовать себя в Windows. Поэтому, если вы не знаете, как обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране вашего монитора, вам имеет смысл предварительно прочитать одну из книг, выпущенных издательством Диалектика, например Windows для чайников (есть также отдельные издания по Windows 95, Windows 98, Windows Me и Windows 2000). Далее, чтобы использовать VBA, вы должны иметь по крайней мере одно приложение, в которое встроены средства разработки VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка программ для бизнеса Microsoft Office, за которым следует постоянно растущая группа продуктов, принадлежащих другим производителям. Изо всех многочисленных возможностей подойдет, например, любое из следующих приложений:
* любое приложение Microsoft Office - Word, Excel, PowerPoint, Access, Outlook или FrontPage;
* Microsoft Project;
* CorelDraw версии 9 или 10 и Corel WordPerfect Office 2000;
* серия графических бизнес-приложений iGrafx от Micrografx;
* Visio версий 4.5, 5 или 2000;
* AutoCAD R14, AutoCAD 2000 или AutoCAD 2000i для Windows;
* Autodesk Map;
* TurboCAD Professional;
* M.Y.O.B. Accounting Software;
* пакет программ для учета ресурсов Great Plains (некоторые программы из этого пакета понимают VBA);
* Omni Trader, средства оценки рисков и управления торговыми операциями.
Теоретические знания и навыки, которые требуются для программирования в VBA, образуют нечто целое, органический симбиоз взаимосвязей, подобный самой жизни... Именно по этой причине мне пришлось разбить предлагаемый материал на пять больших частей, каждая из которых содержит как минимум две главы.
Часть I. Начальные сведения о VBA
Начинает книгу только одна унылая глава, посвященная теоретическим вопросам, зато следующие три шустренькие главы разбудят вас и заставят бежать вместе с VBA. Вы научитесь записывать макросы, чтобы не обращаться к программированию там, где это можно и оправданно, запускать свои VBA-программы из других приложений. Вам даже предстоит по ходу дела создать полностью законченную программу, выполняющую определенное практическое задание.
Часть II. Курс программирования на VBA
Редактор Visual Basic является, так сказать, доверенным представителем VBA на экране- здесь вы пишете свои программы, конструируете открываемые этими программами окна и тестируете свои создания, чтобы выяснить причины, по которым они отказываются работать так, как нужно. Об этом я расскажу в первой главе части. Затем я расскажу об использовании переменных. В остальных главах обсуждаются способы контроля того, что происходит при выполнении программы, а также способы выявления и исправления хотя бы части тех ошибок, которые всегда норовят прицепиться к любой программе. Завершим мы материал части II рассмотрением таких вопросов, как создание окон, диалоговых окон и форм, а также приемов программирования, необходимых для этого.
Часть III. Практикуемся в программировании на VBA
Эта часть - сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты мира VBA. Первая половина глав этой части систематизирует компоненты VBA-программы и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следует печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе с переменными и объектами, что очень важно при настройке таких приложений, как Word, Excel или CorelDraw. В последней главе мы поговорим о обработке данных, представленных в виде массивов и наборов.
Часть IV. Профессиональная работа с VBA
В главах этой части вы познакомитесь с приемами программирования, которые применимы практически ко всем приложениям Office, например настройка интерфейса пользователя, программирование помощника по Office и многое другое. Затем мы подробно поговорим о программировании для Word и Excel, а также вопросах, представляющих немалый интерес для VBA-программистов, независимо оттого, с какими приложениями они работают.
Часть V. Великолепные десятки
Ваше путешествие в страну программирования средствами VBA завершается двумя главами, посвященными самым разнообразным темам. Сначала мы обсудим более изысканные приемы программирования. Конечно, обсуждение не будет слишком глубоким, но и поверхностным его тоже нельзя назвать - вполне достаточно для того, чтобы вы смогли реально использовать эти приемы. Далее приводится каталог доступных ресурсов VBA, охватывающий как информационные ресурсы, так и программные продукты. Туда стоит заглянуть и для того, чтобы пополнить свои знания в VBA-программирования, и для того, чтобы пополнить свою библиотеку программных средств разработчика.
Эта книга содержит достаточно много примеров программного кода, призванного иллюстрировать те концепции, которые я пытаюсь объяснить. Примеры кода будут ясно выделены моноширинным шрифтом, причем и в случае представления программного кода отдельным блоком, как здесь: