Практическая работа в редакторе VBA "Элемент управления ListBox".
Оценка 4.6
Лабораторные работы +2
docx
информатика +1
9 кл—11 кл +1
02.05.2017
Цель практической работы:
1)научиться использовать элемент управления ListBox а также основные методы класса СListBox,
2) подробно ознакомить обучающихся с реализацией циклических конструкций на примерах использования цикла с параметром.
Практическая работа может быть использована на уроках информатики, при проведении занятий, а также во время внеурочной деятельности школьников,студентов ссузов.
ListBox.docx
Краткая теория.
Практическая работа.
Список (ListBox) в VBA.
Элемент управления ListBox предназначен для хранения списка значений, из
которого можно выбрать один или несколько элементов. По умолчанию
списки имеют имена ListBoxl, ListBox2 и т. д.
Существуют следующие варианты выбора элементов в списке:
1 – один элемент,
2 – несколько последовательно расположенных элементов,
3 – несколько произвольно расположенных элементов.
Для добавления новых элементов в список используется метод AddItem.
При этом нужно задать параметр, который определяет строку с названием
добавляемого в список элемента:
ListBox1.AddItem элемент
В качестве элемента может выступать, в частности, число, имя перемен
ной, элемент массива (a(i)), в этом случае в список добавляется их значение.
В следующей процедуре метод AddItem добавляет в список названия дней
недели:
Public Sub Months()
ListBox1.AddItem " Monday "
ListBox1.AddItem " Tuesday "
ListBox1.AddItem " Wednesday "
End Sub
Для заполнения списка последовательными числами можно использовать
процедуру
Public Sub NumberList()
For i=1 To 20
ListBox1.AddItem i Next i
End Sub
Пусть в программе требуется определить выбранные элементы списка,
например, узнать их значения. Если в списке задан выбор только одного
элемента управления ListBox содержит
элемента, то свойство Text
выделенный
элемент, в противном случае свойство Text равно пустой строке. Свойство
ListIndex содержит номер выделенного пункта в списке. Выбранный в списке
элемент можно вывести, например, в окне отладки Debug с помощью
инструкции Debug.Print ListBox1.Text. Если известно, что в списке выделено
несколько элементов, то необходимо проверить каждый пункт списка, чтобы
определить, выделен он или нет. Для этого используется свойство Selected,
которое по индексу пункта возвращает значение True, если пункт выбран, и
значение False – в противном случае.
Например, если необходимо найти сумму выделенных элементов в списке,
то можно воспользоваться следующей инструкцией:
For i = 0 To listBox1.ListCount1
If ListBox1.Selected(i) = True Then
S = S + ListBox1.List(i)
End If
Next i
Свойство ListCount содержит общее количество элементов (пунктов) в
списке. При этом первый элемент имеет номер «0», а последний ListCount1.
Свойство List возвращает по номеру пункта его текст.
Для удаления элемента из списка используется метод RemoveItem, при этом
в качестве параметра метода указывается номер удаляемого пункта.
Например, для очистки списка может использоваться следующая процедура: Public Sub NumberList()
For i=0 To ListBox1.ListCount1
ListBox1.RemoveItem i
Next i
End Sub
Задание 1.
Создать приложение на языке VBA, которое позволит найти сумму,
произведение, среднее значение элементов списка, а также максимальное,
минимальное значение среди элементов списка.
Ход работы:
Состав объектов, расположенных на
форме.
Код программы:
Рисунок 1
Private Sub CommandButton1_Click()
Dim i As Integer
Dim n As Integer
Dim Summa, maxi, mini As Double
Dim Pr As Double
Dim Rez As Double
If OptionButton1.Value = True Then
Summa = 0
With ListBox1
For i = 0 To .ListCount 1
Summa = Summa + .List(i)
Next i
End With Rez = Summa
End If
If OptionButton2.Value = True Then
Pr = 1
With UserForm1.ListBox1
For i = 0 To .ListCount 1
Pr = Pr * .List(i)
Next i
End With
Rez = Pr
End If
If OptionButton3.Value = True Then
Summa = 0
n = 0
With ListBox1
For i = 0 To .ListCount 1
Summa = Summa + .List(i)
n = n + 1
Next i
End With
Sr = Summa / n
Rez = Sr
End If
If OptionButton4.Value = True Then
maxi = 0
With ListBox1
For i = 0 To .ListCount 1
If .List(i) > maxi Then maxi = .List(i)
Next i
End With
Rez = maxi
End If
If OptionButton5.Value = True Then
mini = 32768
With ListBox1
For i = 0 To .ListCount 1
If .List(i) < mini Then mini = .List(i)
Next i
End With
Rez = mini
End If
TextBox1.Text = Str(Rez)
End Sub
Private Sub CommandButton2_Click() End
End Sub
Private Sub UserForm_Initialize()
With ListBox1
For i = 0 To 9
.AddItem Int(Rnd * 10)
Next i
End With
With UserForm1.OptionButton1
.Value = True
.Caption = "Сумма"
End With
UserForm1.Caption = "Операции над элементами списка"
Frame1.Caption = "Выбор операции"
TextBox1.Enabled = False
Label1.Caption = "Элементы списка"
Label2.Caption = "Результат"
CommandButton1.Caption = "Вычислить"
CommandButton2.Caption = "Выход"
OptionButton2.Caption = "Произведение"
OptionButton3.Caption = "Среднее арифм. элементов"
OptionButton4.Caption = "Максимальный элемент"
OptionButton5.Caption = "Минимальный элемент"
End Sub
Практическая работа в редакторе VBA "Элемент управления ListBox".
Практическая работа в редакторе VBA "Элемент управления ListBox".
Практическая работа в редакторе VBA "Элемент управления ListBox".
Практическая работа в редакторе VBA "Элемент управления ListBox".
Практическая работа в редакторе VBA "Элемент управления ListBox".
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.