Телефон: +7 (495) 649-0526

ComboBox, OptionButton, Frame и другие объекты для лучшей работы с офисными приложениям

Картинка к странице

Следующая статья:

Содержание

Поле со списком

Элемент управления ComboBox (поле со списком) создается с помощью соответствующего элемента. Элемент управления ComboBox применяется для хранения списка значений. Он сочетает в себе функциональные возможности списка ListBox и поля TextBox. В отличие от ListBox, в элементе управления ComboBox отображается только один элемент списка. Кроме того, у него отсутствует режим выделения нескольких элементов списка, но он позволяет вводить значение, используя поле ввода, как это делает элемент управления TextBox.

Свойства объекта ComboBox, такие как ListIndex, ListCount, Enabled, List, и методы Clear, RemoveItem и AddItem аналогичны соответствующим свойствам и методам списка ListBox. Кроме того, у него есть ряд уникальных свойств:

DropButtonStyle – устанавливает вид раскрывающегося списка. Допустимые значения:

  • fmDropButtonStylePlain – кнопка без символов;
  • fmDropButtonStyleArrowDisplays – кнопка со стрелкой;
  • fmDropButtonStyleEllips – кнопка с эллипсом;
  • fmDropButtonStyleReduce – кнопка с линией.

ListRows – устанавливает число элементов, отображаемых в раскрываемом списке.

MatchRequired – допустимые значения: True (нельзя ввести значения) и False (в противном случае).

MatchFound – допустимые значения: True (среди элементов раскрывающегося списка имеется элемент, совпадающий с вводимым в поле ввода раскрывающегося списка) и False (в противном случае).

Переключатель и рамка

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

Элемент управления Frame (рамка) создается с помощью соответствующего элемента. Он используется для визуальной группировки элементов управления. Основным свойством рамки является caption, отображающее надпись рамки.

Задачи на закрепление материала

Задача

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

Нажатие кнопки «Вычислить» должно привести к выполнению выбранной операции над выбранными числами и выводу результата в поле «Результат».

Разработанная форма задачи в рабочем состоянии

Разработанная форма задачи в рабочем состоянии

Технология выполнения

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

UserForm_Initialize

  • Активизирует диалоговое окно
  • Запрещает ввод данных в поле Результат.
  • Связывает с кнопками Вычислить и Закрыть, а также с переключателями всплывающие подсказки

Нажатие кнопки Вычислить запускает на выполнение процедуру CommandButton 1_ Click

Определяет, какой переключатель выбран. В зависимости от выбранного переключателя производит действие над выбранными в списке числами. Найденное число выводится в поле Результат

Нажатие кнопки Закрыть запускает на выполнение процедуру CommandButton 2_ Click

Закрывает диалоговое окно

Процедура нажатия кнопки «Вычислить» производит вычисления с элементами списка в зависимости от выбранной операции. Вводятся переменные n и i, где n играет роль счетчика числа выбранных элементов из списка, а i – вспомогательная переменная. Также вводятся переменные, которые будут содержать результат вычислений: сумма, произведение и среднее. Все полученные вычисления присваиваются переменной Результат, которая и выдается в текстовое поле.

Процедура нажатия кнопки Вычислить

Private Sub CommandButton1_Click ()

Dim i As Integer

Dim n As Integer

Dim Сумма As Double

Dim Произведение As Double

Dim Среднее As Double

Dim Результат As Double

' При выборе первого переключателя вычисляется сумма

If OptionButton1.Value=True Then

Сумма=0

With ListBox1

For i=0 To.ListCount – 1

If.selected(i)=true then

Сумма=Сумма +.List(i)

End if

Next i

End With

Результат=Сумма

End If

' При выборе второго переключателя вычисляется произведение выбранных элементов

If OptionButton2.Value=True Then

Произведение=1

With ListBox1

For i=0 To.ListCount – 1

If.Selected(i)=True Then

Произведение = Произведение *.List(i)

End if

Next i

End With

Результат=Произведение

End If

' При выборе третьего переключателя вычисляется среднее арифметическое

If OptionButton3.Value=True Then

Среднее=0

n=0

With ListBox1

For i =0 To.ListCount – 1

If.Selected(i)=True Then

n=n+1

Среднее=Среднее +.List(i)

End if

Next i

End With

Результат=Среднее /n

End If

' Полученное значение Результат выводится в текстовое поле

TextBox1.Text=CStr(Format(Результат, «Fixed»))

End Sub

Процедура нажатия кнопки «Закрыть»

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

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

Private Sub UserForm_Initialize()

With ListBox1

List=Array(1, 3, 4, 5, 6, 7, 8, 10)

Listlndex=0 'начальная индексация массива

MultiSelect=fmMultiSelectMulti

End With

' Первоначальный выбор переключателя Сумма при инициализации диалогового окна и задание текста всплывающих подсказок у переключателей With OptionButton1.Value=True

ControlTipText ="Сумма выбранных элементов"

End With

OptionButton2.ControlTipText ="Произведение выбранных элементов"

OptionButton3.ControlTipText=«Среднее значение выбранных элементов»

' Поле Результат не доступно для пользователя

TextBox1.Enabled=False

' Назначение клавише <Enter> функции кнопки Вычислить и задание текста всплывающей подсказки

With CommandButton1

Default=True

ControlTipText=«Нахождение результата»

End With

' Назначение клавише <Esc> функции кнопки Закрыть и задание текста всплывающей подсказки

CommandButton2.Cancel=True

' Задание заголовка пользовательской формы

UserForm1.Caption=«Операции над элементами списка»

UserForm1.Show

End Sub

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

Задача.

Разработать программу нахождения среднего балла студентов, выбранных из списка в диалоговом окне «Средний балл». Список содержит фамилию студента и его средний балл (двумерный массив).

Разработанная форма задачи в рабочем состоянии

Разработанная форма задачи в рабочем состоянии

Дополнительно для каждого элемента управления следует прописать процедуры для осуществления всплывающих подсказок.

При выполнении задания опирайтесь на приводимые ниже примечания.

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

  • непосредственно заполнить двумерный массив ListBox1.List;
  • задать произвольный двумерный массив, а затем присвоить его значение для ListBox1.List.

Соответственно, для расчета среднего балла следует воспользоваться только элементами второго столбца массива, то есть вторая координата массива ListBox1.List должна быть фиксирована на 1 (если индексация массива положена с нуля) или на 2 (если индексация массива положена с 1).

Видео: «Один из многих Data Center в Google»

Видео дата центра Google

Один из многих Data Center в Google

Статья: ComboBox, OptionButton, Frame и другие объекты для лучшей работы с офисными приложениям

Раздел: VBA программирование (office)

Сайт: SD Company » Все разделы статей

Последнее изменение: 2010.11.18 в 08:47

Теги: combobox, optionbutton, frame, vba

Следующая статья:

Роли руководителя – в чем трудность их исполнения
Роли руководителя – в чем трудность их исполнения
Во многих организациях руководители нередко действуют как исполнители, а не инструкторы
Какие проблемы мешают хорошей работе команды
Какие проблемы мешают хорошей работе команды
Три принципа создания эффективной команды и стратегии, которые помогут преодолеть проблемы человеческого фактора, ресурсов и структурной организации команд
Проблемы при работе с поисковыми системами и их решение
Проблемы при работе с поисковыми системами и их решение
Описание, какие проблемы встречаются при работе с поисковыми системами и как их можно решить, обойти
20 советов по работе с клиентами через блог
20 советов по работе с клиентами через блог
20 дельных советов для блогеров, которые хотя научиться зарабатывать более эффективно на своем блоге
Инструкция REVOKE cоветы и хитрости DB2 (продлолжение 1)
Инструкция REVOKE cоветы и хитрости DB2 (продлолжение 1)
Дополнительные правила и методы использования инструкции REVOKE в базах данных на платформе DB2
Инструкция REVOKE cоветы и хитрости DB2 (продлолжение 2)
Инструкция REVOKE cоветы и хитрости DB2 (продлолжение 2)
Дополнительные советы при использования инструкции REVOKE в базах данных на платформе DB2