Рефераты
 

Язык программирования Visual Basic for Applications

Язык программирования Visual Basic for Applications

ВВЕДЕНИЕ

Microsoft Excel имеет встроенный язык программирования - Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем/документов с помощью библиотеки готовых шаблонов и т.п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана.

VBA сочетает в себе практически неограниченные возможности с простотой изучения и использования. Теперь большинство функций можно описать, не прибегая к программированию. В том случае, если возможностей языка недостаточно, можно обратиться к API-функциям Windows. Пожалуй, самое главное достоинство VBA в том, что этот язык является единым для всех офисных приложений Microsoft и поэтому позволяет связывать их между собой. Уже сейчас из программы, написанной в Excel, можно обращаться к объектам Word для Windows, а также Microsoft Project. Это открывает заманчивые перспективы. Представьте, что пользователь на конкретном рабочем месте должен на основе некоторых данных, извлекаемых из базы, делать их анализ, строить диаграммы и проектировать деятельность организации, а также автоматически выполнять рассылку этих обработанных данных по некоторым адресам вместе с сопроводительным письмом. Все это можно сделать средствами офисных продуктов Microsoft, однако при этом пользователь должен в совершенстве овладеть каждым из них. В случае если программа для решения этой задачи написана на VBA, пользователю придется изучить только ее.

1. Рождение и развитие Basic

Оригинальный язык программирования Basic был создан Джоном Кемени и Томасом Курцем в 1963 г в Дартмурском колледже. Он быстро завоевал популярность в качестве языка для обучения программированию в университетах и школах и был адаптирован для использования на персональных компьютерах основателем и главой компании Microsoft Биллом Гейтсом в середине 70-х гг. С тех пор для ПК последовательно было выпущено несколько версий Basic, включая Microsoft Quick Basic и MS-DOS Qbasic. Хотя программная оболочка Visual Basic выполнена полностью графической, а сам язык программирования весьма далек от языка, применяемого для ранних версий интерпретаторов Basic, простота и элегантность Basic осталась в большой мере присущей и новым версиям. Широкие возможности Visual Basic и его простота послужили основной причиной для выбора его в качестве языка программирования для создания таких Windows- приложений как Excel.

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

Одним из важнейших функциональных расширений программы, предназначенным для профессионалов, является встроенная в Excel Среда программирования Visual Basic (VBA) для решения прикладных задач. Благодаря VBA фирме Microsoft удалось не только расширить возможности языка макрокоманд Excel 4.0, но и ввести новый уровень прикладного программирования, поскольку VBA позволяет создавать полноценные прикладные пакеты, которые по своим функциям выходят далеко за рамки обработки электронных таблиц.

2. Краткое описание VBA

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

Поскольку основой приложений Microsoft послужил один и тот же язык программирования, вероятно, многим придет в голову мысль воспользоваться им. Точно так же, как пользователям Windows для подготовки множества программ необходимо освоить один интерфейс, в VBA достаточно изучить одну среду программирования, чтобы составлять разнообразные приложения. Около 40 компаний - производителей программного обеспечения заключили с корпорацией Microsoft соглашение о включении VBA в их продукты. Первой из этих компаний на рынок вышла фирма Visio Corp., которая интегрировала VBA в пакеты Visio Professional и Visio Technical, версия 4.5. Можно ожидать от таких фирм агрессивной рыночной политики в отношении VBA, поскольку с этим языком их продукты оказались в заметном выигрыше. Настоящее имя VBA - Visual Basic Application Edition, и он на самом деле относится к семейству VB, следовательно, вызывает повышенный интерес как самостоятельное инструментальное средство.

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

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

Точно так же, как можно составить макрокоманду Office, которая обращается к программам Word и Excel, можно разработать VBA-программу, сочетающую в себе средства Access и Visio. Составное приложение для планировки кухни можно считать неким гибридом Access с механизмом черчения или Visio с базой данных.

VBA - собственное подмножество VB5, но на самом деле в VBA есть почти все, что можно найти в VB5. Надо признать, что незначительные отличия все же имеются (например, запуск из Word, а не в автономном режиме), но в любом случае программирование осуществляется одинаково. Объектные модели Office 97 имеют силу до тех пор, пока выполняются приложения, которым они принадлежат, поэтому и VBA, и VB5 могут манипулировать ими. Vs Мы видим, что от аналогичной в VB5 интегрированная среда разработки в VBA почти ничем не отличается.

3. Новые возможности Visual Basic 5.0

Управление множественными проектами с помощью Explorer (Проводник проектов)

Использование новых сред Code Editor (Редактор кодов), в том числе Auto Quick Info (Быстрого Авто информатора)

Работа с окном Form Layout (Макета бланка) для настройки внешнего вида программы.

Изменение размеров окон и документов.

Выбор и использование функций управления Active X.

Использование новых отладочных инструментов и техник для исправления ошибок программирования.

Быстрый запуск проекта с одной или более предопределенной формой.

Расширение возможностей Microsoft Word через автоматизацию.

Среда программирования Visual Basic содержит все необходимые инструменты для быстрого и эффективного создания мощных программ, работающих в среде Windows.

Инструменты, имеющиеся в среде программирования Visual Basic, помогают при конструировании Basic - программ.

Строка Меню обеспечивает доступ к большинству команд, управляющих средой программирования. Меню и команды работают в соответствии со стандартными соглашениями, общими для всех приложений Windows.

Под строкой меню имеется панель инструментов - набор кнопок, являющихся ярлыками для команд, с помощью которых осуществляется работа в среде Visual Basic. В нижней части экрана расположена панель задач. Её можно использовать для переключения между компонентами Visual Basic или для активации других приложений Windows. Также имеется окно инструментов (Toolbox), окно содержания проекта (Project Container), окно формы(Form), окно проекта(Project), окно непосредственного выполнения(Immediate), окно свойств(Properties) и окно макета формы(Form layout).

Файлы проектов Visual Basic имеют расширения. vbp, wak, vbg в имени файла.

В среде Visual Basic имеется 7 инструментов.

Форма Visual Basic - это окно в интерфейсе пользователя.

Инструменты и средства управления на панели служат для того, чтобы добавлять новые элементы пользовательского интерфейса. Панель инструментов содержит также средства управления для создания объектов, выполняющих специальные “за экранные” операции: управление информацией в базе данных, контроль временных интервалов и т.д.

Окно Properties (Свойства)

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

Окно Project(Проект).

Visual Basic - программа состоит из нескольких файлов, которые собираются вместе, когда программа готова. В окне Project перечисляются все файлы, используемые при программировании.

Файлы проекта содержат список всех поддерживаемых файлов и программ проекта и их расширение vbp (Visual Basic program).

В Visual Basic 5 в окно Project можно одновременно загрузить несколько файлов проектов.

В Visual Basic предусмотрена оперативная справочная система, включающая информацию о среде программирования, инструментах и языке программирования Visual Basic.

Средства управления. С их помощью создаются объекты и формы, выводится информация в текстовом блоке, просматриваются диски и папки в системе, обрабатываются данные, вводимые пользователем, запускаются Windows-приложения и просматриваются записи баз данных.

Язык Visual Basic.

Язык программирования Visual Basic содержит несколько сотен инструкций, функций и специальных символов. Он предназначен не только для использования в программном продукте Visual Basic, Microsoft Visual Basic for Application включен в состав Microsoft Excel, Microsoft Word, Microsoft Access, Microsoft PowerPoint, Microsoft Project и других приложений для Windows.

4. ПРИМЕР ВЗАИМОДЕЙСТВИЯ EXCEL И VISUAL BASIC

Начиная, с версии 5.0 в программу Excel включен, специальный язык программирования, который получил название Visual Basic for Applications (VBA).

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

Разработка языка программирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык уже интегрирован в такие программы, как Word for Windows, Power Point и ряд других. VBA позволяет создавать программные модули, меню, диалоговые окна и другие ресурсы в среде Windows. Благодаря этому языку появляется возможность значительно расширить набор функций в Excel, а также создавать функции, значения которых зависят от некоторых условий и событий. В принципе, можно полностью перепрограммировать все функции программы Excel, если в этом появилась необходимость.

5. Программирование табличных функций

Чтобы создать отдельный рабочий лист для программного модуля, щелкните по пиктограмме Insert Module из пиктографического меню Visual Basic (1-я пиктограмма) или вызовите директиву Module из меню Insert Macro. После этого появится новый рабочий лист "Modele1". В программном модуле нужно описать функцию на языке VBA. В окне программного модуля можно работать, как в окне небольшого текстового редактора, но при этом необходимо помнить, что Вы пишите текст программы. Описание функции должно начинаться оператором Function, за которым через пробел следуют название функции и ее аргументы, заключенные в скобки и разделенные запятыми. Затем идет собственно текст программного кода функции, а заканчиваться описание должно оператором End Function.

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

Function NDS(Value)

NDS=Value*0.15

End Function

6. Встраивание функций

Щелкните по 3-й пиктограмме Object Browser из пиктографического меню VBA или вызовите одноименную директиву из меню View.

Функции, определенные пользователем, рассматриваются в программе Excel как самостоятельные объекты. В поле списка Methods/Properties: будет находиться имя новой функции. Щелкните мышью сначала по имени, а затем по командной кнопке Options, тогда откроется диалоговое окно Macro Options. В поле Description: введите поясняющий текст, который позднее будет использован Конструктором функций. В списке Function Category укажите категорию, в которую Вы хотите записать свою функцию. Например, функцию, вычисляющую налог на добавленную стоимость, следует поместить в категорию Financial. В дальнейшем Конструктор функций поместит Вашу функцию в указанную Вами категорию. Закройте окно Macro Options щелчком по командной кнопке OK, а окно Object Browser - кнопкой Close.

7. Применение функций

Перейдите на рабочий лист, где будет расположена таблица. Переместите указатель ячеек в ячейку, в которой будет находиться формула, и введите в нее знак равенства. Затем щелкните по 14-й пиктограмме Конструктора функций на основной пиктографической панели.

Появится диалоговое окно Конструктора функций. На первом шаге выберите категорию Financial и в правом поле найдите свою функцию NDS. Щелкните по названию этой функции, после чего перейдите к следующему шагу, щелкнув по командной кнопке Next.

Откроется второе диалоговое окно Конструктора функций. Здесь можно будет увидеть Ваш комментарий к функции, который был введен ранее в окне макроопций. Укажите единственный аргумент для этой функции Value и закройте диалоговое окно Конструктора щелчком по кнопке Finish.

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

8. Переменные и операторы

Visual Basic позволяет резервировать переменные, с указанием размера и без оного, работать с различными типами данных, использовать константы, работать с математическими операторами и функциями, использовать дополнительные операторы. Предусмотрено использование операторов циклов For Next, Do, объектов типа “ таймер” (невидимый секундомер в программе). Точность установления времени в программе составляет 1 миллисекунду, или 1/1000 сек. Запущенный таймер постоянно работает - т.е. выполняется соответствующая процедура обработки прерывания через заданный интервал времени - до тех пор, пока пользователь не остановит таймер или не отключит программу.

Типы данных

Тип

Размер (байт)

Диапазон значений

Пример использования

Integer (Целое)

2

от - 32768 до 32767

Dim Birds%

Birds%=37

Long Integer (Длинное целое)

4

от - 2147483648 до 2147483647

Dim Loan&

Loan&=350,000

Single-precision Floating paint (Одинарной точности с плавающей десятичной точкой)

4

от - 3,402823Е38 до 3,4402823Е38

Dim Price!

Price!=899.99

Double-precision Floating paint (Двойной точности с плавающей десятичной точкой)

8

от -1,79769313486232D308 до 1,79769313486232 D308

Dim pi# pi#=3.1415926535

Currency (денежные единицы)

8

от -922337203685477,5808 до 922337203685477,5807

Dim Debt@

Debt@=7600300,50

String (Строка)

1 на символ

от 0 до 65535 символов

Dim Dog$

Dog$='pointer'

Boolean (Логическое)

2

True(истина) или False(ложь)

Dim Flag as boolean

Flag=True

Date (Дата)

8

от January(Январь) 1,100, до December(Декабрь) 31,9999

Dim Birthday as Date

Birthday=#3-1-63#

Variant (Вариант)

16 (для чисел); 22+1 на символ (для строк)

для всех типов данных

Dim Total

Total=289.13

Функция

Действие

abs(n)

Возвращает абсолютное значение n

atn(n)

Возвращает арктангенс n в радианах

cos(n)

Возвращает косинус угла n в радианах

Exp(n)

Возвращает константу е в степени n

Sgn(n)

Генерирует случайное число между 0 и 1

Rnd(n)

возвращает -1, если n<0; 0, если n=0; +1если n>0

Sin(n)

Возвращает синус угла n в радианах

Sqr(n)

квадратный корень из n

Str(n)

Преобразует числовое значение в строку

Tan(n)

Возвращает тангенс угла n в радианах

Val(n)

Преобразует строку в числовое значение

9. Использование форм и средств управления OLE

Формы могут быть модальными и немодальными.

Visual Basic обладает очень гибкой системой использования форм, Можно сделать все формы в программе видимыми одновременно или же загружать и выгружать формы по мере необходимости.

Модальная (формальная) форма - форма, которая всегда должна использоваться при ее отображении на экране, она остается на первом плане, пока пользователь не щелкнет на кнопке ОК, на Cancel или не отправит ее.

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

Visual Basic позволяет:

работать со средствами управления

работать с меню и диалоговыми окнами

работать с формами, принтерами и обработчиками ошибок

добавлять художественное оформление и спецэффекты

использовать модули и процедуры

работать с наборами элементов и массивами

работать с текстовыми файлами и базами данных

взаимодействовать с Microsoft Office

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

Использование объектов данных для просмотра баз данных Microsoft Access.

Для работы с базами данных Visual Basic предоставляет три объекта, которые позволяют показывать и изменять информацию в файлах базы данных. Объект данные, дает доступ к полям и записям файла базы данных непосредственно на форме. Объект также позволяет менять информацию в базе данных.

Если вы регулярно работаете с базами данных - особенно с Microsoft Access, Microsoft FoxPro, Paradox, Brieve и dBase - то Visual Basic окажется весьма мощным средством для обработки и отображения данных. Поскольку Visual Basic предусматривает технологию обработки баз данных, аналогичную, используемой Microsoft Access, то можно создавать основные приложения для работы с базами данных с помощью всего нескольких десятков строк в тексте программы.

Visual Basic может считывать и записывать информацию в базу данных различного формата.

С помощью Visual Basic можно построить собственное приложение по обработке баз данных, которое отображало бы только информацию, необходимую пользователю, а также предоставляло бы пользователю необходимые средства для обработки данных. Средства управления Line(отрезок) и Shape(фигура) позволяют создать геометрические фигуры.

Можно использовать OLE для вставки объектов из приложений в программы на Visual Basic. В качестве примеров объектов приложений можно привести листы и диаграммы Excel, документы Word и изображения Microsoft ClipArt. Объектами приложений могут быть как новые, неустановленные документы, так и существующие факты, загружаемые с диска.

В Visual Basic можно создать как объектные, так и управляющие приложения, поддерживающие функцию Automation(автоматизация).

Приложения для Windows, полностью поддерживающие функцию Automation, позволяют осуществлять доступ к своим функциям в виде набора объектов с соответствующими им свойствами и командами. Приложения для Windows, которые предоставляют свойства объектов называются объектными или серверными приложениями, а программы эти объекты использующие, называются управляющими или клиентскими приложениями. Автоматизация представляет собой промышленный стандарт, позволяющий осуществить взаимодействие двух приложений.

Заключение

Еще не так давно упоминание Basic (Бейсик) в качестве языка программирования вызывало лишь снисходительную усмешку (а порой и негодование) у большинства профессиональных разработчиков ПО. Объяснялось это просто: "Да, есть такой язык, которым пользуются любители (если не сказать "чайники"). Но ставить "Васик" в один ряд с настоящими средствами программирования - это просто смешно".

Сейчас вряд ли кто-то рискнет высказать такое мнение: за прошедшие годы Microsoft Visual Basic (VB) превратился в самый популярный в мире инструмент разработки приложений. Более того, знание его основ сегодня фактически является обязательным для всех программистов, какими бы средствами они не пользовались. Это объясняется двумя взаимосвязанными факторами. Во-первых, VB очень широко распространен и используется не только в качестве самостоятельного средства, но и в виде системы программирования, встроенной в многочисленные прикладные программы (в частности MS Office). Во-вторых, превратившись в серьезный профессиональный инструмент, VB остался очень удобным средством для обучения программирования и решения небольших задач.

ЛИТЕРАТУРА

1. "Информационные технологии. Учебное пособие". Под ред. А.К. Волкова. Москва. Издательство "ИНФРА-М". 2001 г.

2. "Информатика: Учебник" Под ред. проф. Н.В. Макаровой. Москва. Издательство "Финансы и статистика". 2005 г.

3. "Информационные технологии управления: Учебное пособие". Под редакцией Ю.М. Черкасова. Москва. Издательство "ИНФРА-М". 2004 г.

4. "Информатика". В.А. Острейковский. Москва. Издательство "Высшая школа". 2004 г.

5. "Курс правовой информатики". Гаврилов О.А. Москва. Издательство "ИНФРА-М". 2006 г.


© 2010 BANKS OF РЕФЕРАТ