Выбрать главу

Sub shet()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

k = a * b + b / c

l = Sin(a) + (b + c) ^ 2

m = a + b + c

End Sub

Кнопка Вычислить

Private Sub CommandButton1_Click()

Call shet

If OptionButton1.Value = True Then

Label5.Caption = «a*b+b/c=» & k

End If

If OptionButton2.Value = True Then

Label5.Caption = «sin(a)+(b+c)^2=» & l

End If

If OptionButton3.Value = True Then

Label5.Caption = «a+b+c=» & m

End If

End Sub

Кнопка Закрыть

Private Sub CommandButton2_Click()

Unload Me

End Sub

4. Откомпилируйте программу.

5. Запустите форму на выполнение.

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

если средний балл от 4 до 5, число пропусков меньше 100, то приложение выдает сообщение: «Имя, Вы в поощрительном списке у директора!» (рис. 35);

если средний балл меньше 4 и число пропусков больше 100, то выдается сообщение: «Имя, Вы еще учитесь здесь?».

При другом раскладе выдумайте свое сообщение.

Рис. 35. Форма примера 17 в рабочем состоянии

Примечание. Можно использовать различные варианты построения данной программы, один из них – использование инструкций If else или Select case.

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

если средний балл 5, число пропусков меньше 100, то приложение выдает сообщение: «Имя, Вы молодец! У Вас меньше 100 часов пропуска и … средний балл»;

если средний балл от 4 до 5 и число пропусков меньше 150, то выдается сообщение: «Имя, хорошо! У Вас меньше 150 часов пропуска и … средний балл» (рис. 36);

если средний балл от 3 до 4 и число пропусков до 200, то выдается сообщение: «Имя, надо лучше! У Вас до 200 часов пропуска и … средний балл»;

если средний балл от 2 до 3 и число пропусков больше 200, то выдается сообщение: «Имя, плохо! У Вас больше 200 часов пропуска и … средний балл».

При другом раскладе выдумайте свое сообщение.

Рис. 36. Форма примера 18 в рабочем состоянии

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

если средний балл 5, число пропусков меньше 100, то приложение выдает сообщение: «Имя, Вы молодец! У Вас меньше 100 часов пропуска, средний балл равен 5, и Вам всего … лет!»;

если средний балл от 4 до 5, число пропусков меньше 150, то приложение выдает сообщение: «Имя, Вы молодец!

У Вас меньше 150 часов пропуска, средний балл от 4 до 5, и Вам всего … лет!» (рис. 37);

если средний балл от 3 до 4, число пропусков меньше 200, то приложение выдает сообщение: «Имя, надо лучше! У Вас до 200 часов пропуска и средний балл от 3 до 4, и Вам уже … лет!»;

если средний балл от 2 до 3, число пропусков больше 200, то приложение выдает сообщение: «Имя, плохо! У Вас больше 200 часов пропуска, средний балл от 2 до 3, и Вам уже … лет!».

Примечание. Предусмотреть выбор переключателей в произвольном порядке и прописать это в коде.

При другом раскладе выдумайте свое сообщение.

Рис. 37. Форма примера 19 в рабочем состоянии

Глава 4

Создание VBA-программ

4.1. Элемент управления ListBox

В данной главе будут анализироваться VBA-программы, создаваемые в приложении Word без вывода результата в документ Word, поэтому программы применимы во всех приложениях пакета MS Office. Рассматриваемые примеры используют весь теоретический материал, рассмотренный в главах 1–3, а также добавляют новые возможности программирования.

Во многих создаваемых приложениях используют возможности массивов. Для доступа к элементам массивов часто применяют элемент управления ListBox. Элемент управления ListBox (список) создается с помощью кнопки Список

(ListBox). Данный элемент нужен для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем могут использоваться в тексте программы.

Наиболее часто используемые свойства элемента управления ListBox:

ListIndex – возвращает номер текущего элемента списка, нумерация элементов списка начинается с нуля;

Listcount – возвращает число элементов списка;

TopIndex – возвращает элемент списка с наибольшим номером;

columnCount – устанавливает число столбцов в списке;

textcolumn – устанавливает столбец в списке, элемент которого возвращается свойством text;

text – возвращает выбранный в списке элемент;

List (row, column) – возвращает элемент списка, стоящий на пересечении указанных строки и столбца;

RowSourse – устанавливает диапазон, содержащий элементы списка;

ControlCourse – устанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка;

multiSelect – устанавливает способ выбора элементов списка. Допустимые значения:

fmMultiSelectSingle – выбор только одного элемента;

fmMultiSelectMulti – разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием клавиши Пробел;

fmMultiSelectExtended – разрешено использование клавиши shift при выборе ряда последовательных элементов списка;

selected – допустимые значения: True (если элемент списка выбран) и False (в противном случае), используется для определения выделенного текста, когда свойство multiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended;

columnWidths – устанавливает ширину столбцов списка.

Синтаксис:

columnWidths = string,

где String – строка, устанавливающая ширину столбцов.

В примере устанавливается ширина каждого из трех столбцов списка:

With ListBox1

ColumnCount=3

ColumnWidths = “20;30;30”

end With

columnHeads – допустимые значения: True (выводятся заголовки столбцов раскрывающего списка) и False (в противном случае);

listStyle – допустимые значения:

fmListStylePlain – выбранный элемент из списка выделяется цветом;

fmListStyleOption – перед каждым элементом в списке располагается флажок, и выбор элемента из списка соответствует установке этого флажка;

boundColumn – устанавливает тип, возвращаемый свойством Value. А именно:

если свойство boundColumn равно 0, то свойство value возвращает индекс выбранной строки;

если свойство boundColumn принимает значение из диапазона от 1 до количества столбцов в списке, то свойство value возвращает элемент из выбранной строки, стоящей в столбце, определенном свойством boundcolumn.

Наиболее часто используемые методы элемента управления ListBox:

clear – удаляет все элементы из списка;

RemoveItem (index) – удаляет из списка элемент с указанным номером, где index – номер элемента;