Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.12.2019

Просмотров: 3197

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Для

 

написания

 

этой

 

процедуры

 

необходимо

 

выполнить

 

двойной

 

щелчок

 

по

 

кнопке

 

«

Выход

»

в

 

результате

 

откроется

 

окно

 

редактора

 

кода

в

 

котором

 

будет

 

помещена

 

заготовка

 

для

 

процедуры

 

обработки

 

события

 

Click

 

объекта

 

CmdExit

Private Sub CmdExite_Click() 
End Sub 

Внутри

 

процедуры

 

необходимо

 

с

 

клавиатуры

 

добавить

 

всего

 

одну

 

команду

 

End

В

 

результате

 

получим

 

полный

 

код

 

процедуры

 

Private Sub CmdExite_Click() 

End 

End Sub

 

При

 

написании

 

сложных

 

программ

 

целесообразно

 

проверять

 

работо

-

способность

 

созданной

 

процедуры

Для

 

этого

 

надо

 

нажать

 

клавишу

 

F5,

 

или

 

кнопку

 

или

 

выбрать

 

команду

 

Run

Run Sub

При

 

этом

 

в

 

тексто

-

вом

 

редакторе

 Word 

загрузится

 

приложение

 

Калькулятор

Если

 

щелк

-

нуть

 

мышью

 

по

 

кнопке

 

«

Выход

», 

то

 

в

 

случае

 

правильной

 

работы

 

проце

-

дуры

форма

 

приложения

 

Калькулятор

 

будет

 

закрыта

а

 Visual Basic 

вернется

 

обратно

 

в

 

режим

 

разработки

 (design). 

В

 

случае

 

ошибки

 Visual Ba-

sic 

создаст

 

окно

 

с

 

предупреждение

 

об

 

ошибке

и

 

будет

 

предложено

 

ее

 

ис

-

править

2)

 

Процедура

 

сложения

 

реализует

 

сложение

 

двух

 

чисел

Эта

 

про

-

цедура

 

должна

 

изменить

 

свойство

 

Text

 

объекта

 

TextBox3

 

так

чтобы

 

оно

 

явилось

 

суммой

 

числовых

 

значений

 

свойства

 

Text

 

объектов

 

Text-

Box1

 

и

 

TextBox2

Эта

 

процедура

 

должна

 

вызываться

если

 

пользователь

 

щелкнет

 

по

 

кнопке

 

с

 

надписью

 «+». 

Для

 

ее

 

написания

 

необходимо

 

выпол

-

нить

 

двойной

 

щелчок

 

по

 

кнопке

 «

в

 

результате

 

откроется

 

окно

 

редакто

-

ра

 

кода

в

 

котором

 

будет

 

помещена

 

заготовка

 

для

 

процедуры

 

обработки

 

события

 

Click

 

объекта

 

CmdPlus

Private Sub CmdPlus_Click() 
End Sub 

Внутри

 

процедуры

 

необходимо

 

с

 

клавиатуры

 

добавить

 

команду

  

TextBox3.Text=Val(TextBox1.Text)+Val(TextBox2.Text) 

Функция

 

Val

 

используется

 

в

 

процедуре

 

для

 

преобразования

 

строко

-

вых

 

значений

вводимых

 

в

 

текстовые

 

поля

в

 

десятичное

 

число


background image

3)

 

Процедура

 

вычитания

 

реализует

 

вычитание

 

двух

 

чисел

Эта

 

процедура

 

должна

 

изменить

 

свойство

 

Text

 

объекта

 

TextBox3

 

так

чтобы

 

оно

 

явилось

 

разностью

 

числовых

 

значений

 

свойства

 

Text

 

объектов

 

TextBox1

 

и

 

TextBox2

Эта

 

процедура

 

должна

 

вызываться

если

 

пользо

-

ватель

 

щелкнет

 

по

 

кнопке

 

с

 

надписью

 

«-»

Для

 

написания

 

этой

 

процедуры

 

выполнить

 

двойной

 

щелчок

 

по

 

кнопке

 

«-»

в

 

результате

 

откроется

 

окно

 

редактора

 

кода

в

 

котором

 

будет

 

помещена

 

заготовка

 

для

 

процедуры

 

обра

-

ботки

 

события

 

Click

 

объекта

 

CmdMinus

Private Sub CmdMinus _Click() 
End Sub 

Внутри

 

процедуры

 

необходимо

 

с

 

клавиатуры

 

добавить

 

команду

 

TextBox3.Text=Val(TextBox1.Text)-Val(TextBox2.Text) 

4)

 

Создайте

 

аналогично

 

процедуры

 

умножения

 

и

 

деления

На

 

этом

 

создание

 

приложения

 

Калькулятор

 

завершено

Посмотрите

 

в

 

Окне

 

проектов

 

Project

 

структуру

 

созданного

 

Вами

 

проекта

 

и

 

включите

 

ее

 

в

 

от

-

чет

 

о

 

выполнении

 

лабораторной

 

работы

Сохраните

 

свой

 

проект

 

полно

-

стью

.  

5)

 

Сохраните

 

свой

 

проект

 

с

 

помощью

 

команды

 

File

Export File

 

в

 

своей

 

папке

 

под

 

именем

 

Калькулятор

.frm

Посмотрите

какие

 

файлы

 

при

 

этом

 

появятся

6)

 

Вернитесь

 

в

 Word 

и

 

завершите

 

работу

 

приложения

сохранив

 

файл

 

под

 

своей

 

фамилией

Если

 

при

 

выходе

 

появится

 

диалоговое

 

окно

 

за

-

просом

 «

Общий

 

шаблон

 Normal 

был

 

изменен

Сохранить

 

его

?

» – 

в

 

от

-

вет

 

необходимо

 

нажать

 

клавишу

 

Да

 

для

 

сохранения

 

в

 

созданной

 

формы

 

и

 

проекта

 

в

 

шаблоне

 

Normal.

 

7)

 

Запустите

 

файл

 

Калькулятор

.frm

 

из

 

Проводника

 – 

он

 

дол

-

жен

 

открыться

 

в

 

среде

 Visual Basic 

как

 

новый

 

проект

 

Project1.exe

Проверьте

 

его

 

работу

8)

 

По

 

окончании

 

тестирования

 

и

 

отладки

 

проекта

 

создать

 

испол

-

няемый

 

файл

 

в

 

своей

 

папке

 

с

 

расширением

 

.exe

 

используя

 

команду

 

File

Make Project1.exe. 

Это

 

позволит

 

использовать

 

приложение

 

в

 

сис

-

теме

 Windows 

без

 

поддержки

 Visual Basic.

 

Запустите

 

этот

 

файл

 

из

 

про

-

граммы

 

Проводник

 

и

 

проверьте

 

его

 

работу

.  

9)

 

Добавить

 

в

 

созданное

 

приложение

 

новые

 

управляющие

 

эле

-

менты

 

по

 

указанию

 

преподавателя


background image

8.

 

ДОПОЛНИТЕЛЬНАЯ

 

РАБОТА

 

НАД

 

ПРОЕКТОМ

 

Добавим

 

дополнительные

 

возможности

 

в

 

программе

 

Калькулятор

1)

 

Открыть

 

файл

 

под

 

своей

 

фамилией

созданный

 

в

 

предыдущем

 

разделе

зайти

 

в

 IDE VBA. 

Добавить

 

в

 

проект

 

новую

 

пользовательскую

 

форму

 

и

 

задать

 

для

 

нее

 

значения

 

свойства

 

Name – Form2

а

 

свойства

 

Caption –

 

Калькулятор

 1. 

Щелкнуть

 

в

 

окне

 

проектов

 

Form1

 

и

выделив

 

с

 

помощью

 

мыши

 

все

 

элементы

 

управления

размещенные

 

в

 

ней

скопиро

-

вать

 

их

 

в

 

буфер

 

обмена

А

 

затем

 

щелкнуть

 

в

 

окне

 

проектов

 

Form2

вста

-

вить

 

в

 

нее

 

элементы

 

управления

 

из

 

буфера

 

обмена

 

и

 

снять

 

выделение

2)

 

Расширить

 

форму

 

Form2 

и

 

добавить

 

на

 

нее

 

с

 

панели

 

Toolbox

 

следующие

 

элементы

 

управления

Image 

(

Рисунок

), 

ListBox

  (

Спи

-

сок

), 

ComboBox

 (

Комбинированное

 

поле

), 

TextBox4 

(

текстовое

 

поле

), 

две

 

кнопки

 

CommandButton

присвоив

 

для

 

них

 

значения

 

свойства

 

Name – CmdData

 

и

 CommandButton1

соответственно

а

 

свойства

 

Caption –

 

Вариант

 

и

 

Среднее

соответственно

Разместить

 

элементы

 

в

 

форме

 

в

 

соответствии

 

с

 

Рис

. 8.1. 

 

Рис

. 8.1 

3)

 

Скопировать

 

программный

 

код

относящийся

 

к

 

форме

 

Form1

 

в

 

буфер

 

обмена

Щелкнуть

 

в

 

окне

 

проектов

 

по

 

форме

 

Form2 

и

выбрав

 

в

 

контекстном

 

меню

 

команду

 

ViewCode

открыть

 

окно

 

кода

относящееся

 

к

 

Form2

Это

 

окно

 

содержит

 

всего

 

одну

 

инструкцию

 

Опции

 VBA

 

Option Explicit 


background image

Вставить

 

в

 

окно

 

кода

 

для

 

Form2 

из

 

буфера

 

обмена

 

следующие

 

пять

 

процедур

которые

 

уже

 

использовались

 

в

 Form1

 ' 

Процедура

 

суммирования

 

Private Sub CmdPlus_Click() 

TextBox3.Text=Val(TextBox1.Text)+Val(TextBox2.Text) 

End Sub 

Процедура

 

вычитания

 

Private Sub CmdMinus_Click() 

TextBox3.Text=Val(TextBox1.Text)-Val(TextBox2.Text) 

End Sub 

Процедура

 

умножения

 

Private Sub CmdUmn_Click() 

TextBox3.Text=Val(TextBox1.Text)*Val(TextBox2.Text) 

End Sub 

Процедура

 

деления

 

Private Sub CmdDelen_Click() 

TextBox3.Text=Val(TextBox1.Text)/Val(TextBox2.Text) 

End Sub 

Процедура

 

выхода

 

Private Sub CmdExit_Click() 
End 
End Sub 

4)

 

Для

 

корректной

 

работы

 

программы

 

необходимо

 

в

 

разделе

 

опи

-

сания

 

переменных

 

модуля

 

объявить

 

переменные

используемых

 

в

 

них

'

Переменные

 

уровня

 

модуля

 

Dim bytA As Byte 
Dim strA1 As String 
Dim strA2 As String 
Private i As Integer 
Private j As Integer 
Private 

Среднее

 As Double

 

 

Dim v As Integer 

5)

 

Два

 

элемента

 

управления

 

ListBox

  (

Список

и

 

ComboBox

 

(

Комбинированное

 

поле

будут

 

использоваться

 

в

 

программе

 

для

 

формиро

-

вания

 

возможных

 

вариантов

 

исходных

 

данных

 

для

 

работы

 

калькулятора


background image

Первый

 

из

 

них

 

применяется

 

для

 

хранения

 

списка

 

значений

из

 

которых

 

пользователь

 

может

 

выбрать

 

одно

 

или

 

несколько

 

значений

Второй

 

сочета

-

ет

 

в

 

себе

 

функциональные

 

возможности

 

списка

 

ListBox

 

и

 

поля

 

ввода

 

TextBox

В

 

отличие

 

от

 

ListBox ComboBox

 

отражает

 

только

 

один

 

эле

-

мент

 

списка

не

 

позволяет

 

одновременно

 

выделять

 

несколько

 

элементов

 

списка

Дополнительно

 

он

 

может

 

вводить

 

значение

 

через

 

поле

 

ввода

как

 

это

 

делает

 

элемент

 

управления

 

TextBox

.  

Для

 

того

 

чтобы

 

значения

 

в

 

поле

 

вводились

 

автоматически

 

при

 

вызо

-

ве

 

программы

 

Form2

включим

 

в

 

программу

 

процедуру

 

активизации

 

фор

-

мы

 

Private Sub UserForm_Activate()

внутри

 

которой

 

поэле

-

ментно

 

в

 

цикле

 

добавляются

 

элементы

 

в

 

список

 

с

 

помощью

 

метода

 

Ad-

dItem

'

Процедура

 

активизации

 

формы

 

Private Sub UserForm_Activate() 

'

Заполнение

 

комбинированного

 

списка

формирующего

 

номера

 

вариантов

 

ComboBox1.Clear 
For i=1 To 3 
ComboBox1.AddItem i 
Next i 

'

Заполнения

 

списка

формирующего

 

список

 

данных

 

For i=1 To 6 
ListBox1.AddItem i 
Next i 
End Sub 

6)

 

Процедура

 

Private Sub CmdData_Click()

 

активизиру

-

ется

 

при

 

нажатии

 

на

 

клавишу

 

Вариант

 

и

 

в

 

зависимости

 

от

 

варианта

вы

-

бранного

 

в

 

списке

 

или

 

введенного

 

в

 

поле

 

ввода

 

элемента

 

управления

 

Com-

boBox,

 

заполняет

 

поля

 

ввода

 

TextBox1

 

и

 

TextBox2

 

значениями

 

из

 

со

-

ответствующих

 

полей

 

Списка

Процедура

 

присвоения

 

данных

 

из

 

списка

 

в

 

зависимости

 

от

 

варианта

 

Private Sub CmdData_Click() 

TextBox3.Value = " " 
v = Val(ComboBox1.Text) 

If v=1 Then 

TextBox1.Value = ListBox1.List(0)