Visual Basic for Application в Access




 

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

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

 

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

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

 

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

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

 

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

Вопросы для самоконтроля

 

1. В каких редакциях (вариантах) доступен пользователю язык VBA.

2. Когда следует использовать макросы?

3. Когда следует использовать VBA?

4. Особенности программирования в среде Microsoft Office.

7. Основы Программирования на VBA

 

Язык VBA относится к объектно-ориентированным языкам. С точки зрения объектно-ориентированного программирования приложения Microsoft Office, такие как Word, Excel и др., являются объектами. Объектами являются как сами приложения, так и все их компоненты: документы Word, книги Excel и т.д. Для каждого приложения главным объектом является само приложение (объект-приложение): Word Application, Excel Application и другие Application-объекты. Все остальные объекты данного приложения встроены в него и являются его элементами.

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

Наряду со свойствами и методами, с объектом связывается ещё одно понятие – событие. События возникают при работе с объектом, чаще всего при определённых действиях пользователя, иногда как результат действия системы. При возникновении события система посылает сообщение объекту, которое может быть обработано методом, специально созданным при конструировании классов. Каждый такой метод задаёт реакцию на определённые действия пользователя или системы при их работе с объектом.

На верхнем уровне Microsoft Office составляет, прежде всего, четыре общих класса:

· Office – содержит объекты, общие для всех приложений. Объект класса Assistant (Помощник) – контекстная справка – новый вид справочной системы. Assistant следит за выполняемой работой, и готов дать справку по ходу дела. Объект класса FileSearch позволяет организовать поиск файлов.

· Кроме того, в Office входит несколько классов Balloon и Command Bar. Классы Balloon вложены в класс Assistant и определяют его свойства. Объекты класса Command Bar задают панели инструментов и меню.

· MSForms – определяет формы VBA. В форму можно встраивать объекты, задающие традиционные элементы управления: списки, окна редактирования, разного типа кнопки.

· Stdole – обеспечивает возможности Automation.

· VBA – определяет язык Visual Basic, используемый во всех приложениях.

Классы и объекты в Microsoft Office

 

Пакет Microsoft Office построен на принципах объектно-ориентированного программирования, и его можно рассматривать как семейство классов. Встраивание (а не наследование) играет основную роль при построении классов.

Прежде чем перейти к обзору этого семейства, отметим трудности, которые возникают при попытке осмыслить и охватить всю структуру Microsoft Office. Эти трудности имеют объективные причины.

· Сложность самой системы влечёт естественную сложность её структуры.

· Система находится в развитии, и от версии к версии её объектно-ориентированная сущность совершенствуется. Но изначально она не была присуща ей в полной мере, в ней встречаются рудименты старых версий.

· Структура объектов перегружена: каждый объект имеет десятки свойств и методов, в то время когда человек может осмыслить 5-7 объектов.

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

С каждой новой версией Microsoft Office улучшается – становится более удобным интерфейс, появляются новые возможности. Но реализация этих новинок не всегда удобна для конкретного пользователя. И причина часто не в том, что, например, Microsoft Word не хватает изящества своих конкурентов: Corel Word Perfect и Lotus WordPro. Дела в другом – в Microsoft Word вся работа основана на громоздких диалоговых окнах, без которых порой можно обойтись и решить интересующую проблему на панели инструментов. Но для этого нужно разрабатывать собственные приложения.

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

Для разработки собственных приложений:

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

· требуется освоить иерархическую модель объектов Excel вместе с соответствующими свойствами, методами и событиями, через которые производится управление средой Excel при обработке пользовательского приложения;

· следует изучить среду разработки VBA, где вы можете писать код программ, создавать пользовательские формы и отлаживать своё приложение.

Объектная модель Excel

 

Excel состоит более чем из 100 объектов – от ячеек и диаграмм до рабочих книг и электронных таблиц. Каждый объект имеет набор свойств, управляющих его внешним видом и поведением, а также содержит методы, обеспечивающие определённые действия с помощью этого объекта. Некоторые из них имеют события, которые выдают сообщения пользователю, когда происходит что-нибудь важное. Например, объект Workbook представляет собой конкретный файл Excel. Он имеет свойства Name (имя файла), Path (имя каталога) и Author (имя автора файла). Метод Save сохраняет файл, а Print Preview осуществляет просмотр рабочей книги на экране.

Ключевые объекты Excel

 

Ключевыми объектами являются Application, Workbook, Worksheet и Range.

Объект Application представляет собой саму программу Excel. Все приложения Excel/VBA реализуются в Excel, поэтому можно рассматривать этот объект в качестве среды, в которой они осуществляются. Любые установки свойств или вызовы методов, совершённые с объектом Application, воздействуют на весь Excel и соответственно на все приложения VBA, выполняемые в его среде. Например, используя объект Application, можно сделать невидимой строку состояния Excel и изменить его заголовок:

Application. DisplayStabusBar = False

Application. Caption = «Пользовательское приложение».

Объект Workbook является файлом рабочей книги Excel. В терминах разработки приложений его можно рассматривать в качестве механизма доставки или контейнера для каждого приложения VBA, созданного при помощи Excel. Например, для установки защиты и сохранения рабочей книги можно использовать такой код:

With Application. Workbooks (1)

. Project

. Save

End With

Объект Worksheet, содержащийся в Workbook, служит нескольким целям в приложении Excel/VBA. Он используется в качестве основы для обработки форм – большинство пользовательских форм в Excel создано с его помощью. Эти объекты также представляют многофункциональную сетку (grid), которая предназначена для вывода и обработки данных, она содержит ячейки, куда пользователь может включать формулы для выполнения вычислений. При этом свойства и методы объекта Worksheet обрабатывают электронную таблицу как единое целое. Например, следующий код изменяет имя электронной таблицы и делает её невидимой:

With Application. Workbooks (1). Worksheets (1)

. Name = «Работа с ценными бумагами»

. Visible = False End With

Объект Range представляет собой одну или несколько ячеек в электронной таблице. Он используется в основном для хранения и вывода фрагментов данных: чисел, строк или формул. Ячейки электронной таблицы, которые представлены в объекте Range, обладают широкими возможностями. Например, пользователь способен получить доступ из ячейки к более чем 400 встроенным функциям Excel и вызвать функции VBA. Можно также установить связи с другими ячейками в той же самой электронной таблице, других электронных таблицах или других рабочих книгах. Гибкость и мощность объекта Range позволяет совершенствовать встроенный вычислительный блок Excel и создавать более сложные приложения для анализа данных. Например, следующий код задаёт формулу в ячейке и выводит полученное значение в окне сообщения:

Range («A1»). Formula == «SUM (B3:B12)»

Msg Box Range («A1»).Value.

Порядок создания приложения в Excel

 

Для создания пользовательского диалогового окна выберите команду UserForm из меню Insert. При этом необходимо обратить внимание на следующее:

§ UserForm выводится на экран в своём собственном окне;

§ Появляется панель инструментов с элементами управления, которые можно поместить на UserForm;

§ Окно свойств показывает свойства UserForm;

§ UserForm включено в список окна проектов.

Чтобы протестировать собственное диалоговое окно, выберите команду Run/Sub UserForm из меню Run. А для его вывода программным образом из VBA вызовите метод Show формы UserForm.

С помощью панели Control Toolbox вы можете также поместить элементы управления непосредственно в электронные таблицы. Для вывода этой панели выделите команду Toolbars из меню View в среде Excel, а затем выберите Control Toolbox. После установки основных свойств элементов управления необходимо написать код, который будет отвечать на соответствующие события. Любой элемент управления имеет много событий, которые приводят к различным действиям пользователя и событиям системы. Чтобы просмотреть список событийных процедур для элемента управления, выделите его, щёлкните кнопку View Code на панели Control Toolbox.

Вопросы для самоконтроля

1. Понятия класса, переменных класса, методов класса.

2. Классы и объекты в Microsoft Office.

3. Объектная модель Excel.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: