Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba

.pdf
Скачиваний:
11
Добавлен:
06.02.2016
Размер:
1.26 Mб
Скачать

4

3

2

1

6 8 9

7

10

5

Рис. 4.1

Щелчок по кнопке (3) на стандартной панели инструментов либо выбор команды View→Project Explorer открывают окно проектов Project (4), в котором отображается структура проекта в виде дерева. В Visual Basic проект может состоять из нескольких форм, каждая из которых связана с модулями форм соответствующими кодами. Кроме того, в проекте могут присутствовать стандартные модули и модули классов. Для удаления како- го-либо файла из проекта необходимо щелкнуть по нему правой клавишей мыши и выбрать в появившемся контекстном меню команду Remove. При этом появится диалоговое окно Microsoft Visual Basic с вопросом, экспортировать ли код перед удалением модуля. Щелкните на кнопке Да, чтобы переместить код модуля в файл с расширением .frm. Щелкните на кнопке Нет, чтобы удалить модуль без копирования кода, либо отмените команду, щелкнув по кнопке Отмена.

Окно свойств Properties (5) предназначено для установки свойств форм и элементов управления. Окно отображается на экране либо выбором

команды View→Properties Window, либо нажатием кнопки (6) на стандартной панели инструментов. Список разделен на две колонки. В левой колонке находятся имена свойств, а в правой – их значения. Установленные по умолчанию значения могут быть изменены. Свойством объекта является качественная или количественная характеристика этого объекта (размеры, цвет, шрифт и др.). Для некоторых свойств объектов предусмотрена возможность выбора из раскрывающегося списка значений. Ряд свойств объектов можно задавать и программно.

При необходимости может быть отрыто еще одно важное окно – окно просмотра характеристик объектов Object Browser (7) либо нажатием

кнопки (8) на стандартной панели инструментов, либо выбором команды View→Object Browser. В левой колонке окна производится выбор объекта или класса объектов. В правой колонке появляется перечень свойств, методов и событий выбранного объекта или класса объектов. Выбрав элемент списка можно получить о нем краткую информацию, которая появляется в нижней части окна. Для каждого класса объектов существует определенный набор свойств, методов и событий, при этом экземпляры класса обладают конкретными значениями свойств. В таблице 4.1 приведены некоторые свойства, методы и события для трех классов объектов.

 

 

 

 

Таблица 4.1.

Класс объектов

Свойства

Методы

События

 

 

 

 

 

Form

Name

(Имя)

Print (Печать)

Load

(Форма)

Caption (Надпись)

Line (Рисова-

(Загрузка)

 

Font

(Шрифт)

ние линий)

 

 

Height

(Высота)

 

 

 

Width

(Ширина)

 

 

CommandButton

Name

(Имя)

Move

Click

(Командная

Caption (Надпись)

(Перемещение)

(Щелчок)

кнопка)

Font

(Шрифт)

 

 

 

 

 

 

Height

(Высота)

 

 

 

Width

(Ширина)

 

 

TextBox

Name

(Имя)

Move

Click

(Текстовое поле)

Text

(Символы)

(Перемещение)

(Щелчок)

 

Font

(Шрифт)

 

 

 

Height

(Высота)

 

 

 

Width

(Ширина)

 

 

Расположение всех вышеперечисленных окон на рабочем столе IDE VBA, а также их размеры, можно изменять с помощью мыши или команд меню View (Просмотр).

В окне редактирования кода можно использовать команды редакти-

рования Вырезать , Копировать и Вставить , которые выбира-

ются либо на стандартной панели инструментов, либо в контекстном меню, либо на панели инструментов Edit (9), переключаемой из меню View→Toolbars→Edit, или используются стандартные комбинации кла-

виш Ctrl+X , Ctrl+C , Ctrl+V, соответственно.

При написании программного кода целесообразно его снабжать комментариями – это неисполняемые строки, начинающиеся со знака апострофа (‘). Кроме того, во время отладки программы апостроф часто используют для временного отключения некоторых программных строк. Апостроф можно ставить вручную, а если надо добавить или удалить сразу несколько комментариев, то удобнее воспользоваться кнопками Com-

menBlock (Закомментировать блок) и UncommenBlock (Раскомментировать блок) панели инструментов Edit.

При написании кода редактор автоматически предлагает пользователю список компонентов, логически завершающих вводимую пользователем инструкцию. Например, набирая код

Selection.

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

Для сохранения одного отдельного модуля, с которым вы работаете в настоящий момент, достаточно нажать клавиши Ctrl+S или щелкнуть по

кнопке стандартной панели инструментов, или выбрать команду

File →Save Normal.

Чтобы сохранить сразу все изменения в текущем проекте, включая все связанные с ним модули, необходимо вернуться в активное приложе-

ние (Word или Excel) и щелкнуть по кнопке стандартной панели инструментов.

Для сохранения листинга программы в отдельном файле с расширением .bas необходимо нажать клавиши Ctrl+E или выполнить команду File→Export File. А чтобы загрузить в IDE VBA программу из файла необходимо нажать клавиши Ctrl+М или выполнить команду File→Import File.

Для запуска на исполнение созданного макроса необходимо нажать клавишу F5 или кнопку (10) на стандартной панели инструментов.

Практические задания

1)Изучить расположение и назначение окон на рабочем столе. Включить в отчет о выполнении лабораторной работы описание всех окон IDE VBA.

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

сописанием назначения всех его команд в виде комментария.

3)Сохранить изменения в макросе.

4)Записать макрос, выполняющий то же форматирование, что и предыдущий, но с использованием диалоговых окон. Распечатать полученный макрос. Посмотреть разницу между полученными программными кодами и результатами выполнения того и другого макроса, сделать выводы. Удалить ненужные строки из второго макроса, пометив их как комментарии.

5)Сохранить листинг программы в отдельном файле с расширением .bas в своей папке.

6)Продемонстрировать преподавателю работу двух ваших макросов из среды Word и из IDE VBA .

3.ФОРМА И ЭЛЕМЕНТЫ УПРАВЛЕНИЯ VBA

Основным объектом в Visual Basic является форма, представляющая собой окно приложения, в котором можно разместить различные элементы управления. Форма может быть добавлена в проект выбором команды In-

sert→UserForm или с помощью кнопки на стандартной панели инструментов. В результате в центре экрана появляется сама форма, которая добавляется в проект с именем по умолчанию Form1. Следующая форма будет иметь номер 2 и т.д. Размеры формы можно менять, перетаскивая мышкой ее правую или нижнюю границу. Как и любой объект в Visual Basic форма обладает свойствами, методами и событиями. Наиболее часто используемые свойства форм приведены в ПРИЛОЖЕНИИ 1.

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

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

команды View→Toolbox→Edit или с помощью кнопки на стандартной панели инструментов. Список основных элементов управления приведен в ПРИЛОЖЕНИИ 2. Все кнопки панели инструментов, за исключением первой, служат для создания элементов управления. Первая кнопка называется Указатель (Point), щелкнув по нему, можно выбрать уже созданный в форме элемент управления, изменить его размер или переместить. Данный режим конструирования формы включается автоматически после размещения элементов управления в форме. Для размещения элементов управления в форме необходимо, выбрав щелчком мыши элемент, поместить его в нужное место на форму проектируемого приложения. После этого элемент управления можно перемещать, изменять его размеры, копировать в буфер обмена и вставлять из буфера обмена. Для установки свойств элементов управления вручную при его конструировании необходимо его выделить и нажать кнопку Properties.

Все элементы управления формы образуют семейство Controls. Общие методы и инструкции форм приведены в ПРИЛОЖЕНИИ 3.

С формой связан программный модуль, содержащий событийные и общие процедуры. У каждого элемента управления есть целый набор событий, связанных с теми или иными действиями. Некоторые общие для форм и элементов управления события приведены в ПРИЛОЖЕНИИ 3.

Для вывода программного модуля на экран можно воспользоваться контекстным меню, выбрав там команду View→Code или просто произведя двойной щелчок клавишей указания мыши, а для возвращения в окно форм необходимо выбрать в контекстном меню команду Hide. Кроме того, любое из открытых в данном проекте окон может быть переключено в главном меню Windows.

4.ОРГАНИЗАЦИЯ ПРОЕКТА В СРЕДЕ VBA

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

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

NewMacros. Модуль может содержать любое количество подмодулей, единственное ограничение состоит в том, что его суммарный объем не должен превышать 4000 строк кода.

Программа на языке VBA состоит из одного или нескольких модулей. Обычно модуль начинается с опций, которые управляют описанием переменных, способом управления строк и т.д., например

' Опции VBA

Option Explicit

Инструкция Option Explicit используется для принудительного объявления всех переменных в области General Declarations (Общее описание) модуля, которая располагается в верхней части модуля. Эта инструкция исключает возможность случайного создания новых переменных. Использование этой инструкции полезно при отладке программы, т.к. если допущена ошибка в имени переменной, то будет выдано сообщение об ошибке.

Затем в модуле располагается область объявления переменных и констант уровня модуля или проекта, которые могут быть использованы во всех процедурах либо модуля, либо проекта, например

'Переменные уровня модуля

Dim bytA As Byte Dim strA1 As String

Private i As Integer Private Среднее As Double

Далее располагается код процедуры или функции, составляющий саму программу.

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

[Public Private Friend][Static]Sub name[(arglist)] [statements]

[Exit Sub] [statements]

End Sub

Public – указывает, что процедура доступна для всех других процедур во всех модулях.

Private – указывает, что процедура доступна для других процедур только того модуля в котором она объявлена.

Friend – используется только в модулях классов. Позволяет вызывать процедуру из другого модуля проекта.

Static – указывает, что локальные переменные процедуры сохраняются в промежутках времени между вызовами этой процедуры.

arglist – список аргументов, разделенных запятой, значения которых передаются в процедуру или возвращаются из процедуры при ее вызове.

statements – любая группа инструкций, выполняемых в процеду-

ре Sub.

Exit Sub – инструкция, которая приводит к немедленному выходу из процедуры Sub.

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

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

Call ИмяПроцедуры (СписокПараметров)

Список входных параметров представляет собой набор переменных, значение которых устанавливаются до начала выполнения процедуры.

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

Кроме процедуры Sub в VBA используются и процедура Function, которая имеет следующий формат:

[Public Private Friend][Static] Function name[(arglist)] statements

[name=expression] [Exit Function]

statements [name=expression]

End Function

Инструкция Exit Function приводит к немедленному выходу из процедуры Function.

Если требуется использовать возвращаемое Function значение, в отличие от процедуры Sub процедура Function может применяться в правой части выражения, как и любая другая встроенная функция

переменная= name()

В свою очередь, процедуре Function может присваиваться значение какого-либо выражения

name()=expression

name – имя процедуры Function, expression – любое выражение возвращающее значение того же типа, что и процедура Function.

Для вызова процедуре Function может использоваться так же, как и для процедуры Sub инструкция Call, когда интересует не возвращаемое процедурой значение, а осуществляемое ей действие.

В VBA возможно создание рекурсивных процедур Function и Sub, т.е. процедур вызывающих самих себя.

5.ПРИМЕР СОЗДАНИЯ ПРИЛОЖЕНИЯ

Зайти в среду Visual Basic и создать приложение Калькулятор, который должен выполнять четыре арифметические действия. Создание приложения можно условно разделить на три этапа:

создание графического интерфейса будущего приложения;

задание значений свойствам объектов графического интерфейса;

создание программного кода.

5.1. Виртуальное программирование графического интерфейса

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

три текстовых поля (объекты TextBox1, TextBox2, TextBox3,

принадлежащие классу объектов TextBox): два поля для ввода числовых данных и одно для получения результатов вычислений;

три надписи (объекты Label1, Label2, Label3), разместив их сверху текстовых полей;

пять кнопок (объекты CommandButton1, CommandButton2, CommandButton3, CommandButton4, CommandButton5, принадле-

жащих классу объектов CommandButton): четыре для выполнения ариф-

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

Расположите управляющие элементы в форме, таким образом, как это показано на (Рис. 7.1.)

Рис. 7.1

5.2. Задание значений свойствам объектов графического интерфейса

Для изменения свойств объектов вызвать Окно свойств Properties. Последовательно выделяя сами объекты, задать для них значения свойств Name (Имя) и Caption (Надпись) в соответствии с таблицей 7.1.

 

 

 

Таблица 7.1.

Класс объектов

Свойство

Значение по умолчанию

Новое значение

 

 

 

4

1

2

3

Форма (Form)

Name

Form1

Form1

 

Caption

Form1

Калькулятор

 

 

 

Продолжение таблицы 1.7.

1

2

3

 

4

 

 

 

 

Label1

Надпись (Label)

Name

Label1

 

 

Caption

Label1

 

Первое число

Надпись (Labe2)

Name

Label2

 

Label2

 

Caption

Label2

 

Второе число

Надпись (Labe3)

Name

Label3

 

Label3

 

Caption

Label3

 

Результат

Кнопка

Name

Command1

 

CmdPlus

(CommandButton)

Caption

Command1

 

+

Кнопка

Name

Command2

 

CmdMinus

(CommandButton)

Caption

Command2

 

Кнопка

Name

Command3

 

CmdUmn

(CommandButton)

Caption

Command3

 

*

Кнопка

Name

Command4

 

CmdDelen

(CommandButton)

Caption

Command4

 

/

Кнопка

Name

Command5

 

CmdExit

(CommandButton)

Caption

Command5

 

Выход

Для объектов TextBox изменить значения двух свойств Text и Font. Свойство Text задает последовательность символов, выводимых в поле. Первоначально текстовые поля должны быть пустыми. А свойство Font задает нужный шрифт, начертание и размер шрифта, размещаемого в текстовом поле.

5.3. Создание программного кода.

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

1) Самая простая событийная процедура в данном приложении – процедура завершения программы. Эта процедура должна вызываться, если пользователь щелкнет по кнопке с надписью «Выход». В результате ее выполнения, окно приложения Калькулятор будет закрыто, а само приложение будет выгружено из памяти.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]