Введение
Об авторе.
Стив Кяммингс занимается программированием больше 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-программирования, и для того, чтобы пополнить свою библиотеку программных средств разработчика.
Как использовать примеры
Эта книга содержит достаточно много примеров программного кода, призванного иллюстрировать те концепции, которые я пытаюсь объяснить. Примеры кода будут ясно выделены моноширинным шрифтом, причем и в случае представления программного кода отдельным блоком, как здесь:
WhatEverItIs.Color = Chartreuse
и в случае появления программного кода просто в строке, как здесь:
Debug.Print.
Для экономии места эти примеры чаще всего будут лишь фрагментами, которые сами по себе выполняться не способны. Такие фрагменты выполнимы только в составе определенных процедур, а многие примеры как раз и не включают необходимых операторов определения этих процедур. В общем, если вы пожелаете увидеть результат выполнения этих примеров на своем собственном компьютере, вам придется заключить представленные в примерах операторы в подходящую процедуру (а в некоторых случаях дополнить программный код в соответствии с приведенными в тексте объяснениями).
Лично я считаю, что процесс печатания программного кода укрепляет моральные устои, но я признаю также, что на некоторых из вас такой аргумент не произведет должного впечатления.
Именно по этой причине тексты процедур, соответствующих примерам, в готовом виде размещены на сервере издательства Диалектика и теперь доступны через Internet по адресу www.dialektika.com. Так что не пугайтесь, печатать тексты процедур заново вам не придется - вы можете выгрузить их на свой компьютер и без лишних усилий просто импортировать нужную процедуру в открытый проект, сразу получив возможность ее выполнения.
Довольно часто VBA-операторы (отдельные единицы программного кода) оказываются достаточно длинными и поэтому случается, что они не умещаются в одной строке книги. В таких случаях для обозначения того места, где единый оператор переносится на новую строку, я использую стандартно применяемый для этого в VBA символ подчеркивания ( _ ).
Также я использовал в настоящей книге следующие соглашения.
* Если я хочу, чтобы воспользовались определенной командой из меню, я говорю вам выберите команду Файл=Открыть. Это означает, что вы должны подвести указатель мыши к меню Файл и выбрать из него команду Открыть.
* Новые элементы выделяются курсивом.
* Части команд, которые вам следует изменить, выделяются так .
* Команды, которые вам необходимо ввести, отображаются полужирным .
* Иногда полужирное выделение используется в инструкциях.
Вы, наверное, видели уже немало книг, на полях которых встречаются пиктограммы, призванные помочь быстро найти самую важную информацию. Для этой книги изо всех пиктограмм я выбрал только четыре, чтобы не создавать внутри книги отдельное руководство по использованию пиктограмм.
Обозначает любую информацию, на которую я счел нужным обратить ваше внимание.
Материал, отмеченный этой пиктограммой, ненамного труднее для понимания, чем остальной материал книги.
Предупреждает о возможной опасности.
Так я обозначил примеры с достаточно большими текстами программного кода, чтобы вы не сомневались, что вам нет необходимости набирать код вручную, если потребуется его использовать. Если же возле текста, представляющего программный код, такой пиктограммы нет, все равно не отчаивайтесь- тексты программного кода многих не слишком длинных примеров есть также на сервере издательства Диалектика, но мне просто не хотелось, чтобы книга была напичкана пиктограммами сверх всякой меры.
Web - страница VBA для чайников
В дополнение к этой книге я планирую создание Web-страницы, адрес которой должен быть следующим:
www.seldenhouse.com/vba
Там вы найдете:
* дополнения и исправления к тексту книги;
* дополнительные материалы, по каким-либо причинам не вошедшие в книгу;
* исходные программные коды, доступные по мере того, как я буду получать их в свое распоряжение;
* ссылки на другие страницы, посвященные VBA, включая страницы, относящиеся к различным конкретным VBA-приложениям.
Но не ожидайте увидеть там чудеса оформления и множество графических изображений развлекательного характера - я предполагаю направить главные усилия на то, чтобы предоставленная информация оказалась максимально полезной. Поэтому, если вы обнаружите какие-то интересные приемы программирования или решения, о которых полезно знать другим людям, или если у вас есть ссылки на другие Web-страницы, я с благодарностью приму от вас сообщения об этом.
Do'stlaringiz bilan baham: |