Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Visual Basic и Visual Basic for Applications.doc
Скачиваний:
175
Добавлен:
01.05.2014
Размер:
579.07 Кб
Скачать

3.4. Семейства и массивы объектов

После обеспечения класса свойствами, методами и событиями его можно применять. Однако использовать классы в программе непосредственно нельзя. Для этого на основе класса надо создать объекты:

Dim object As New Class1 или по другому

Dim object As Class1

Set object = New Class1.

Можно создавать набор (семейство) элементов с помощью объекта Collection, на который можно ссылаться как на единое целое. Для добавления объектов в семейство используется метод Add, а для удаления Remove:

‘общие объявления

Dim As New Collection

. . .

Collect_Name.Add object [,key][,before][,after]

Collect_Name.Remove key | index

где object - добавляемый объект, key – символьная строка для идетификации объекта, before – номер позиции предыдущего элемента, after – номер позиции последующего элемента.

Свойство Count содержит количество элементов семейства. Метод Item позволяет получить доступ к определенному элементу семейства: Collect_Name.Item key | index.

Для работы со всеми элементами семейства можно использовать цикл For Each…Next:

For Each element In Collect_Name

Debug.Print element.Property‘каждый элемент один раз присваивается объектной переменной

Next element

Для объединения объектов могут использоваться и массивы:

Dim objVariable (5) As New form1.

4. Vba. Макропрограммирование

4.1. Общие сведения о vba

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

Основные возможности VBA: создание собственных диалоговых окон; создание макросов; изменение меню приложения; управление другим приложением или принадлежащими ему данными; объединение данных из нескольких приложений в одном документе; автоматическое создание или изменение страницы Web - World Wide Web (WWW) распределенная сетевая система, обеспечивающая непосредс­твенный доступ к приложениям Internet; возможность использования VBA IDE в приложениях, которые не вхо­дят в Microsoft Office.

Основные инструменты и средства VBA:

отладка приложений без предварительной компиляции;

средства Win32 API - набор функций, позволяющих обращаться ко всем функциям Windows, управлять памятью, внешними устройствами, обра­батывать события, рисовать на экране диалоговые окна, поддерживать связь одного приложения с другим;

SQL и объекты доступа к данным для управления ими и извлечения из внешних источников, таких как Microsoft SQL Server 6.5 - сервер баз данных SQL, обеспечивающий доступ к данным в локальных и глобальных сетях и работающий под управлением операционной системы на базе Windows NT Server;

построение и проверка элементов интерфейса непосредственно в сре­де VBA IDE (Integradet Development Environment) - это набор инструмен­тов разработки программного обеспечения таких как редактор, средства отладки, средства управления проектом и т.д.

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

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

VBA является производным от Visual Basic (VB). Назначение VBA - совместная работа с прикладными программами, а с помощью VB можно раз­рабатывать самостоятельные приложения. В то же время синтаксис и среда разработки VBA и VB во многом схожи. Например, коды для перемножения двух произвольных чисел:

1) в VB

Private Sub Command1_Click()

Text3.Text = Val(Text1.text) * Val(Text2.Text)

End Sub

2) в VBA

Private Sub Worksheet_ Activate()

frmDemo.Show

End Sub

Private Sub bthMultiply_Click()

ActiveCell.Value = Val(txtValue1.Text) * Val(txtValue2.Text)

End Sub

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

Проект VBA необходимо связать с основным приложением, в данном случае, с Excel, следует создать форму, которая похожа на форму для приложения VB, и написать требуемые подпрограммы. Первая подпрограмма - это процедура обработки события, запускаемая при активизации текуще­го рабочего листа; она отображает форму frmDemo. Вторая подпрограмма также является процедурой обработки события и выполняется при нажатии кнопки bthMultiply; она преобразовывает число в текст, отображаемый в в текстовых полях, перемножает числа и выводит результат в активном рабочем листе.

Новая версия Visual Basic - Visual Basic Script (VBScript) позво­ляет строить небольшие приложения, встроенные непосредственно в Web-страницу.

Программы VBA не компилируются, а интерпретируются, т.е. перевод команд в машинные коды осуществляется в процессе выполнения программы.

Синтаксис VBA похож на синтаксис Visual Basic (VB), однако, в VB больше возможностей по созданию самостоятельных программ. Для выполнения программ VB не тре­буется загрузки основного приложения. В качестве дополнения к VBA можно также использовать язык С++, оформляя созданные на нем средства в виде библиотек DLL, элементов уп­равления VBX и OCX. Для работы с VBA можно использовать и другие компиляторы, напри­мер, Fortran, Cobol и др.

Для создания проекта VBA используется один из следующих методов:

1) автоматическая запись макроса, а затем его редактирование); 2) создание макроса или проекта в редакторе VBA.

В окне проекта выводятся все элементы проекта в виде иерархи­ческой структуры, включающей формы, модули кода и объекты основного приложения: рабочие листы, шаблоны, документы, базы данных и т.д. Окно проекта можно открыть (View-Project Exploter), скрыть (Hide), закрепить (Dockable), переместить или изменить его размеры.

Для выбора и редактирования объекта, выведенного в окне проекта надо дважды щелкнуть по имени объекта, или щелкнуть по нему пра­вой кнопкой и выбрать команду ОБЪЕКТ (View Object) или ПРОГРАММА (View Code).

Окно свойств используется для просмотра и задания свойств объектов проекта. С ним можно выполнять такие же манипуляции как и с окном проекта: открыть (View-Properties Window), скрыть и т.д. В окне свойств отображаются только свойства текущего объекта. Окно свойств разделено на два столбца: в левом названия свойств, а в правом их значения.

Окно модулей используется при написании любой программы VBA. Под строкой заго­ловка окна имеются два списка: в 1-м все объекты модуля, во 2-м процедуры, связанные с выбранным объектом. Окно модуля можно вывести и скрыть, но оно отображается только тогда, когда с выбранным объектом связан код. Можно вывести все процедуры либо отобразить только одну процедуру кнопками в левом нижнем углу ПРЕДСТАВЛЕНИЕ ПОЛНОГО МОДУЛЯ (Full Module View) или ПРЕДСТАВЛЕНИЕ ПРОЦЕДУРЫ. Для добавления модулей в проект надо: 1) в окне проекта выбрать про­ект, в котторый добавляется модуль, 2) в редакторе выбрать ВСТАВКА-МОДУЛЬ - выводится пустое окно модуля, 3) вывести окно свойств - F4, задать имя модуля.

Для добавления формы в проект надо: 1) если одновременно открыто нес­колько проектов, выбрать имя проекта, 2) выполнить ВСТАВКА-ФОРМА - вы­водится пустая форма и набор инструментов, 3) в меню редактора выбрать ВИД-ОКНО СВОЙСТВ (View-Properties Window) -выводится окно свойств, 4) задать свойства формы: имя и т.д.

Кроме стандартного набора инструментов можно использовать допол­нительные из приложений Microsoft и других программ. Для просмотра и добавления дополнительных инструментов надо: 1) открыть форму, 2) вы­полнить СЕРВИС-ДОПОЛНИТЕЛЬНЫЕ ЭЛЕМЕНТЫ (Tools-Additional Controls) - выводится диалоговое окно, 3) сбросить флаг ТОЛЬКО ВЫДЕЛЕННЫЕ ОБЪЕКТЫ (Selected Items Only), 4) выбрать требуемый элемент управления, уста­новив флаг напротив его имени, 5) нажать ОК - элемент будет выведен на панели элементов.

Для переключения в основное приложение, не закрывая проект надо: 1) в окне проекта щелкнуть правой кнопкой по объекту, который надо просмотреть, выполнить из контекстного меню команду ОБЪЕКТ, 2) выполнить команду ВИД-ОБЪЕКТ в окне редактора, 3) выбрать в меню ВИД окна редактора команду, названием кот. является имя основного приложения (обычно последняя команда), 4) выбрать на панели задач Windows основное приложение.

Для возврата в редактор VBA: 1) выполнить СЕРВИС-МАКРОС-РЕДАКТОР Visual Basic, 2) на панели задач Windows выбрать приложение Microsoft Visual Basic.