...
...

Основы Visual Basic for Application

Microsoft Office 97 и пришедший ему на смену Microsoft Office 2000 установлен практически на каждом компьютере, и такие приложения, как Microsoft Word, Microsoft Excel, Microsoft Outlook используются повсеместно. Но не каждый знает, что, помимо мощных пакетов для конечных пользователей, в Microsoft Office включен инструмент для создания собственных приложений. Это могут быть довольно простые макросы, наподобие тех, которые уже освещались в "Компьютерной газете", а могут быть и сложные программные комплексы, в которых используются все основные возможности Microsoft Office: Word для обработки текстовой информации, Excel для манипуляции с таблицами и анализа данных, Access для ввода данных через формы и печати отчетов, Outlook для обмена сообщениями по электронной почте и календарного планирования. Это первое основание цикла статей о Visual Basic for Application. Другое основание - в приводимых в "Компьютерной газете" макросах некоторые фрагменты программ вызывают определенные трудности. Как только вы познакомитесь с Visual Basic for Application, изучите среду программирования, среду разработки, конструктор формы и самостоятельно напишите собственную программу, многие из вопросов исчезнут сами собой.

(c) Компьютерная газета

Цикл статей включает в себя некоторый минимум информации, но поскольку программирование - это все-таки трудоемкий процесс, появление очередной статьи напрямую зависит от активности читателей, твердо решивших изучить Visual Basic for Application. Надеемся, что цикл статей значительно сократит время изучения.

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

Visual Basic for Application представляет собой мощный инструмент для разработки приложений на базе Microsoft Office. Функции, ручное выполнение которых вызывает некоторые сложности, можно автоматизировать с помощью Visual Basic for Application. Например, вы можете разработать дополнительную систему для анализа текста Word, особым образом отформатировать электронную таблицу Excel или придать большую интерактивность слайдам, подготовленным в Power Point.

Некоторые конструкции языка программирования Visual Basic for Application заимствованы из традиционного Бейсика, в чем вы можете убедиться, если посмотрите на любую программу из тех, что приводятся в этой и последующих статьях. Хотя вам придется встретиться и со множеством других конструкций. Все вместе они делают из "школьного" Бейсика вполне серьезный язык программирования, с помощью которого можно создавать деловые программы для Microsoft Office. К услугам разработчика не только основные конструкции языка, но и мощная объектно-ориентированная среда. Объекты - наиболее существенное приобретение Visual Basic for Application, поскольку с их помощью изрядно упрощаются процедуры для манипуляции данными и документами. В состав Microsoft Office входит пять основных приложений - Word, Excel, Access, Power Point, Outlook, - и каждый использует собственную систему объектов. К этому количеству можно добавить такие программы, как, например, Microsoft Graph, Microsoft Equation, Office Assistant, Microsoft Form и некоторые другие вспомогательные компоненты, для которых также существует определенный набор объектов. Так что в понятие "программирование на Visual Basic for Application" входит не только и не столько знание основ языка программирования, сколько умение правильно использовать объекты, их свойства и методы.

Что включает в себя программа на Visual Basic for Application

Перед началом работы с новым проектом необходимо знать некоторый минимум, который позволит разобраться в программах на Visual Basic for Application. Это характеристики и особенности применения языка, алфавит, инструкции языка, основы объектно-ориентированного программирования и другие элементы. Visual Basic for Application является процедурным языком, а следовательно, каждая логически законченная часть - это подпрограмма. Понятие подпрограммы существует и в традиционном Бейсике. Напомним, что для вызова подпрограмм используется оператор GOSUB, для выхода из нее - RETURN. В Visual Basic for Application введено понятие процедур, описываемых инструкциями Sub и Function. Так, инструкции Sub - End Sub позволяют создавать подпрограмму, а инструкции Function - End Function - функции. Например, в следующей программе процедура CallMe вызывается из процедуры MyProc, в процедуре MyProc объявляется переменная B, которой присваивается число 5, затем значение переменной передается в процедуру CallMe и с помощью конструкции A = A + 1 увеличивается на единицу.

Sub CallMe(A)

A = A + 1

End Sub

Sub MyProc()

Dim B

B = 5

CallMe(B)

End Sub

Visual Basic for Application является модульным языком. Модуль представляет собой некоторый объект, содержащий описания отдельных процедур. Сходство Visual Basic for Application с современными системами программирования придают проекты. Набор модулей, относящихся к одному документу, объединяется в проекты. Кроме процедур, в проекте могут храниться макеты форм, модули формы и модули классов. Впрочем, сходство Visual Basic for Application с другими системами разработки, такими, как Visual Basic, Delphi и др., на этом заканчивается. В отличие от упомянутых выше средств разработки, система для создания программ для Microsoft Office не может формировать автономные приложения. Visual Basic for Application - это, скорее, язык сценариев, а модули на Visual Basic for Application несут описательную часть. Как и когда эти действия должны быть исполнены, решаете вы или тот человек, который собирается использовать модули. Так, в одной из следующих статей мы рассмотрим программу для преобразования денежной суммы в текстовое ее представление. Как запускать такую программу? Существует несколько способов. Можно создать форму с двумя полями и кнопкой, а затем в первом ее поле вводить число, а во втором поле распечатывать результат. Но такая программа, наверное, окажется бесполезной. Намного лучше, если результат появлялся бы непосредственно в текстовом документе, отчете базы данных или ячейке электронной таблицы. Для этого следует использовать объекты Microsoft Office и приложения, в которых работает ваша программа. Например, можно предусмотреть специальные команды панели инструментов или копировать текст в буфер обмена, чтобы затем вручную вставлять его в текстовый документ, электронную таблицу или базу данных.

Visual Basic for Application в Word

Применяя Visual Basic for Application в Microsoft Word, можно создавать сложные виды документов, в которых используется и текст, и таблицы, и графические изображения, и автофигуры. Для каждого из этих компонентов предусмотрен отдельный объект, ряд свойств и методов, посредством которых можно выполнять такие же действия, что и в интерактивном режиме. Например, изменять толщину линии или придавать объем графическому объекту, увеличивать или уменьшать размер текста и многое другое.

Visual Basic for Application в Excel

Microsoft Excel представляет собой электронную таблицу, поэтому все предоставляемые Visual Basic for Application средства используются при обработке данных в ячейках рабочей книги. Заметим, что в ячейках таблицы обычно хранятся числа, строки и даты. Посредством объектов Excel из любой программы на Visual Basic for Application вы получаете доступ к содержимому и атрибутам рабочей книги, а кроме того, можете создавать и изменять графические объекты, диаграммы или фрагменты карт.

Visual Basic for Application в PowerPoint

Используя функции, объекты и методы языка программирования Visual Basic for Application, встроенного в PowerPoint, можно придавать стандартным компонентам презентации или отдельного слайда дополнительные эффекты. Кроме того, с помощью единой системы объектов Microsoft Office в слайдах PowerPoint можно использовать реальные данные из баз данных, электронных таблиц и отображать их как в табличном виде, так и в виде диаграмм.

Visual Basic for Application в Access

Если в трех предыдущих приложениях можно было бы обойтись без Visual Basic for Application, то применение этого языка программирования в базах данных является непременным условием, поскольку с его помощью можно спроектировать гибкий интерфейс и разработать достаточно сложные алгоритмы для обработки данных, в которых используются как стандартные инструкции языка, так и объекты для управления базами данных, в частности, язык структурированных запросов, элементы управления форм, отчетов и др.

Программирование диалоговых форм

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

Программирование панелей инструментов и меню

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

Программирование офисного помощника

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

Заключение

Во вводной части цикла статей, посвященных Visual Basic for Application, приводится несколько простых программ. Пока вы плохо знакомы с этим языком программирования и поэтому вам покажутся совершенно непонятными конструкции и объекты. Но ничего страшного в этом нет. Изучение нового языка программирования сродни изучению иностранного языка. Если, не зная немецкого, вы попытаетесь прочитать текст на немецком языке, то ничего не поймете. Но познакомившись с грамматикой языка, научившись читать и писать, вы без труда сможете понимать смысл текста и даже создавать свой собственный. Этому, собственно говоря, и посвящен цикл статей. В следующих материалах вы узнаете об основных операторах языках, научитесь применять их на практике, узнаете, как вводить программу, что такое отладка, как редактировать форму, использовать объекты Microsoft Office и многое другое.

Сергей Лосев

© Компьютерная газета

полезные ссылки
Аренда ноутбуков