Захаров м л право социального обеспечения. Межотраслевые принципы. е издание, исправленное и переработанное

Стив Каммингс - 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;

Стив Каммингс занимается программированием более 20 лет, используя такие разные языки программирования, как Ассемблер, COBOL и C++, а также VBA и Visual Basic. Он является автором и соавтором более десятка компьютерных книг, среди которых и книга Секреты Office 97 , выпущенная издательством "Диалектика". Кроме того, ему принадлежат сотни статей, опубликованных в известных компьютерных журналах, в том числе в PC World, Macworld, PC Magazine, PC/Computing и PC Week .

ПОСВЯЩАЕТСЯ ЭЛЛИ И РУФУСУ

Введение

Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA (аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений). Благодаря этой книге вы узнаете об основных принципах программирования в VBA и получите необходимые навыки для создания полезных программ. А самое главное, вы сможете сделать это без лишних усилий.

В книге использовано много примеров, написана она легко и понятно, поскольку, кто знает, сколько скучных томов уже издано в этом мире! Я попытался изложить все самым обычным языком, по возможности исключив из употребления режущий ухо нормального человека специальный жаргон. И с этого момента я начинаю отпускать (иногда не самые лучшие) шуточки, чтобы вам было на что направить свое раздражение.

С другой стороны, обсуждение рассматриваемых вопросов не является слишком упрощенным, иначе оно было бы лишено всякой ценности. Если отбросить шутки в сторону, то эта книга - полноценное справочное пособие, охватывающее все основные разделы VBA.

О ЧЕМ ЭТА КНИГА

Вы, наверное, уже знаете, что VBA - это язык программирования, встроенный во множество программ, начиная от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов.

В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы найдете достаточно полную информацию по следующим темам:

НЕ СЛЕДОВАЛО БЫ ДЕЛАТЬ ПРЕДПОЛОЖЕНИЙ…

Но я все же сделаю. Я предполагаю, что вы не такой уж и "чайник", наоборот, я думаю, вы должны весьма комфортабельно чувствовать себя в Windows. Поэтому если вы не знаете, как обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране вашего монитора, вы должны предварительно прочитать одну из книг, выпущенных издательством "Диалектика", например Windows для "чайников" (имеются также отдельные издания по Windows 95, Windows 98 и Windows NT). Далее, чтобы использовать VBA, вы должны иметь по крайней мере одно приложение, в которое встроены средства разработки VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка программ для бизнеса Microsoft Office, за которым следует постоянно растущая группа продуктов, принадлежащих другим производителям. Из всех многочисленных возможностей подойдет, например, любое из следующих приложений:

любое приложение Microsoft Office - Word, Excel, PowerPoint, Access, Outlook или FrontPage;

Microsoft Project;

Corel WordPerfect Office 2000;

серия графических бизнес-приложений iGrafx от Micrografx;

Visio версий 4.5 и 5;

AutoCAD R14 или AutoCAD 2000 для Windows;

TurboCAD Professional;

M.Y.O.B. Accounting Software;

пакет программ для учета ресурсов Great Plains (некоторые программы из этого пакета понимают VBA);

OmniTrader, средства оценки рисков и управления торговыми операциями;

EdgeworkX, средства разработки сложных Web-страниц.

РАЗДЕЛЯЙ И ВЛАСТВУЙ

Теоретические знания и навыки, которые требуются для программирования в VBA, образуют нечто целое, органический симбиоз взаимосвязей, подобный самой жизни… Именно по этой причине мне пришлось разбить предлагаемый материал на пять больших частей, каждая из которых содержит как минимум две главы.

Часть I. Начальные сведения о VBA

После всего одной начинающей книгу унылой главы, посвященной теоретическим вопросам, следующие три шустренькие главы разбудят вас и заставят бежать вместе с VBA. Вы научитесь записывать макросы, чтобы не обращаться к программированию там, где это возможно и оправданно, запускать свои VBA-программы из других приложений. Вам даже предстоит по ходу дела создать полностью законченную программу, выполняющую определенное практическое задание.

Часть II. Освоение среды разработки VBA

Редактор Visual Basic является, так сказать, доверенным представителем VBA на экране - здесь вы пишете свои программы, конструируете открываемые этими программами окна и тестируете свои создания, чтобы выяснить причины, по которым они отказываются работать так, как нужно. Прочитав эту часть книги, вы получите достаточно полное представление о том богатом наборе средств и возможностей, который предоставлен в ваше распоряжение редактором Visual Basic.

Часть III. Курс программирования в VBA

Эта часть - сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты мира VBA. Первая глава этой части систематизирует компоненты VBA-программы и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следует печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе с переменными и объектами, призванные научить грамотному обращению с обрабатываемой информацией. После этого я организую тур в густонаселенную страну встроенных VBA-команд, чтобы избавить вас от необходимости снова изобретать ядерный реактор. В остальных главах обсуждаются способы контроля того, что происходит при выполнении программы, а также способы выявления и исправления хотя бы части тех ошибок, которые всегда норовят прицепиться к любой программе.

Часть IV. Создание форм

По сравнению с некоторыми другими средствами программирования в Windows, VBA существенно меньше зависит от "форм" (этот термин используется для обозначения диалоговых и других окон). Причина здесь в том, что совсем не обязательно, чтобы ваши программы всегда имели свои собственные окна. Как раз наоборот, вы имеете возможность запускать их из других программ, пользуясь при запуске окном того приложения, с которым работаете в данный момент, или из самой среды разработки VBA. Тем не менее VBA имеет полный набор средств для проектирования и создания форм. Вы имеете все возможности для создания самых замысловатых окон, до отказа набитых кнопками, переключателями и другими элементами, чтобы вашим пользователям было с чем поиграть. О том, как реализовать эти возможности, и говорится в этой части.

Часть V. Великолепные десятки

Ваше путешествие в страну программирования средствами VBA завершается двумя главами, посвященными самым разнообразным темам. Сначала мы обсудим более утонченные приемы программирования. Конечно, обсуждение не будет слишком уж глубоким, но и поверхностным его тоже нельзя назвать - оно буде вполне достаточным для того, чтобы вы смогли реально использовать эти приемы. Далее приводится каталог доступных ресурсов VBA, охватывающий как информационные ресурсы, так и программные продукты. Туда стоит заглянуть и для того, чтобы пополнить свои знания в области VBA-программирования, и для того, чтобы пополнить свою библиотеку программных средств разработчика.

КАК ИСПОЛЬЗОВАТЬ ПРИМЕРЫ

Эта книга содержит достаточно много примеров программного кода, призванного иллюстрировать те концепции, которые я пытаюсь объяснить. Примеры кода будут ясно выделены моноширинным шрифтом, причем и в случае представления программного кода отдельным блоком, как здесь:

WhatEverItIs.Color = "Chartreuse"

и в случае появления программного кода в рамках абзаца, как здесь: Debug.Print .

В целях экономии места эти примеры чаще всего будут лишь фрагментами, которые сами по себе выполняться не способны. Такие фрагменты могут быть выполнены только в составе определенных процедур, а многие примеры как раз и не включают необходимые операторы определения этих процедур. В общем, если вы пожелаете увидеть результат выполнения этих примеров на своем собственном компьютере, вам придется заключить представленные в примерах операторы в подходящую процедуру (а в некоторых случаях дополнить программный код в соответствии с приведенными в тексте объяснениями).

Лично я считаю, что процесс печатания программного кода укрепляет моральные устои, но я признаю также, что на некоторых из вас такой аргумент не произведет должного впечатления. Именно по этой причине тексты процедур, соответствующих примерам, в готовом виде были размещены на сервере издательства "Диалектика" и теперь доступны через Internet по адресу www.сайт . Так что не пугайтесь, печатать тексты процедур заново вам не придется - вы можете выгрузить их на свой компьютер и без лишних усилий просто импортировать нужную процедуру в открытый проект, сразу получив возможность ее выполнения.

Довольно часто VBA-операторы (отдельные единицы программного кода) оказываются достаточно длинными и поэтому случается, что они не умещаются в одной строке книги. В таких случаях для обозначения того места, где единый оператор переносится на новую строку, я использую стандартно применяемый для этого в VBA символ подчеркивания (_).

WEB-СТРАНИЦА VBA ДЛЯ "ЧАЙНИКОВ"

В дополнение к этой книге я планирую создание Web-страницы, адрес которой должен быть следующий: www.seldenhouse.com/vba

Там вы найдете:

дополнения и исправления к тексту книги;