Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
26
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

1-й час. Знакомство с Visual Basic for Applications

Добро пожаловать в сообщество разработчиков приложений с использованием Excel и Visual Basic for Applications! Как опытный пользователь Excel вы чувствуете себя уверенно и комфортно при работе с этой программой. Сейчас у вас появился шанс подняться на следующий уровень - автоматизировать свою работу в Excel. Даже если вы никогда ранее не программировали, то легко освоите методы решения задач автоматизации с помощью Visual Basic for Applications. На сегодняшний день Visual Basic for Applications - один из самых простых в изучении и применении языков программирования для автоматизации приложений (его даже можно назвать языком макросов). В этом часе будет заложен фундамент ваших знаний VBA, а начнем мы с хорошо знакомого вам процесса записи макросов.

В этом часе будут рассмотрены следующие вопросы.

  • Что такое Visual Basic for Applications.

  • В чем польза автоматизации в среде Excel.

  • Запись простых макросов.

  • Выполнение макросов.

  • Редактирование макросов.

  • В чем проявляется ограниченность макросов.

Что такое Visual Basic for Applications

До начала 1990-х годов идея автоматизации приложений вызывала большие сомнения и ее реализация была достаточно трудным делом даже для специалистов. Для каждого приложения, подлежащего автоматизации, необходимо было изучать свой язык программирования, с помощью которого осуществлялась автоматизация. Например, для автоматизации Excel использовался язык макросов Excel, для автоматизации Microsoft Word - язык WordBasic и т.д. Microsoft решила, что иметь для каждого разрабатываемого ею приложения свой язык автоматизации не эффективно, и предложила общий язык программирования, подходящий для всех приложений, - язык Visual Basic for Applications (VBA). Язык Visual Basic for Applications является подмножеством популярного языка разработки приложений Visual Basic. Можно сказать, что VBA является версией Visual Basic, ориентированной на приложения. Вместе с тем VBA имеет отличия от Visual Basic, которые заключаются в следующем.

  • Язык Visual Basic разрабатывался для создания законченных самостоятельных приложений, VBA используется для автоматизации существующих приложений.

  • Visual Basic имеет собственную среду разработки, VBA использует среду приложения.

  • Для выполнения приложения, созданного в Visual Basic, пользователю не обязательно иметь доступ к Visual Basic, так как разработанные приложения, как правило, исполняемые. Выполнение VBA-приложений требуют доступа к "родительскому" приложению, в котором они созданы (например, Excel).

Несмотря на описанные различия, структуры языков Visual Basic и VBA очень похожи. Если вы знакомы с Visual Basic, то легко перейдете на VBA. Верно и обратное утверждение: после изучения VBA вы получите прочный фундамент для освоения Visual Basic. Более того, после изучения VBA на примере решения задач в Excel вы будете иметь все необходимые знания для применения VBA в программах Word, Access, Outlook, FoxPro и PowerPoint.

Одним из основных свойств языка VBA является то, что изучение его на примере одного программного продукта Microsoft (или изучение языка Visual Basic) дает основу для применения его к другим продуктам Microsoft.

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

Автоматизация среды Excel

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

  • Автоматизировать повторяющиеся задачи.

  • Настроить интерфейс Excel с помощью модификации существующих или создания новых панелей инструментов, меню и пользовательских форм.

  • Упростить работу с шаблонами.

  • Внести дополнительную функциональность в среду Excel.

  • Создавать сложные отчеты.

  • Манипулировать данными и осуществлять анализ данных.

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

Кроме того, используя среду Excel для разработки, вы имеете доступ к огромной библиотеке функций Excel. Все функции, знакомые любому пользователю Excel, доступны программисту на VBA.

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

Среда Excel предоставляет преимущества не только начинающим программистам. Например, опытные программисты получают в свое распоряжение мощные средства Excel доступа к внешним базам данных. В частности, Excel позволяет легко использовать такие средства, как Microsoft SQL Server, включая OLAP Services, или средства создания отчетов и форм Microsoft Access.