Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_по_ИТУ.doc
Скачиваний:
20
Добавлен:
31.03.2015
Размер:
14.24 Mб
Скачать

8.12. Создание пользовательских форм с элементами управления

Цель практического занятия- приобретение и закрепление умений в использовании пользовательской формы для ввода вывода данных.

Алгоритм выполнения действий студентами при использовании формы для ввода вывода данных:

а) Открыть текстовый документ Word.

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

в) Используя команду Вид/ Панели инструментов/ Настройка создать панель VBAПрограммы, смотри рис.1.

В конце занятия результаты работы предъявить преподавателю.

Рис. 1.

г) Командой Сервис/ Макрос/ Редактор VBA запустить редактор VBA.

Привести редактор VBA к стандартному виду (панель Стандарт, слева закреплены окна проекта и свойств, справа окно модуля).

Командой Вставка/ UserForm вставить модуль формы.

Разработать в конспекте эскиз формы (смотри Рис. 2.).

Используя панель элементов поместить на форму элементы управления.

Рис. 2.

д) Изучить условия очередной задачи, определить вводимые и выводимые данные.

Задача: Составить блок- схему алгоритма и программу на VBA для вычисления и печати функции .

е) Перейти в текстовый процессор Word.

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

Ниже приведен алгоритм решения задачи:

Рис. 3. Frame4

ж) Скопировать тексты программ и перенести их в соответствующие модули, находящиеся в окне VBA.

Связать одну из процедур (имеющую атрибут Public) с кнопкой на панели VBAПрограммы (смотри Рис.4.)

Перейти в редактор VBA, запустить и отладить программы.

Рис. 4.

В результате работы программы в окне Word появляется форма:

Ход занятия. В папке VBA 33i (i- номер группы) создать файл "Пз4Фамилия", в файле создать панель Настраиваемая1, на панели поместить кнопку запуска программы с формой.

Frame5

Frame6

Примерный вид формы:

Текст процедур, обеспечивающих работу формы:

Private Sub Document_Open()

Load UserForm1

UserForm1.Show

'установка курсора на позицию 5

UserForm1.TextBox1.SelStart = 5

'передача фокуса текстовому полю

UserForm1.TextBox1.SetFocus

End Sub

Public Sub пр1()

Call Document_Open

End Sub

Private Sub CommandButton1_Click()

UserForm1.Hide

End Sub

Private Sub CommandButton2_Click()

'курсор в начало текстового поля

TextBox1.SelStart = 0

'курсор в начало текст. поля с выделением

TextBox1.SelLength = Len(TextBox1.Text)

'фокус в текстовое поле

TextBox1.SetFocus

End Sub

Private Sub CommandButton3_Click()

'получение результата расчета

'перезапись текста из окна в окно при нажатии кнопки

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

End Sub

Ход занятия. В папке VBA 33i (i- номер группы) создать файл "Пз6Фамилия", в файле создать панель Настраиваемая1, на панели поместить кнопку запуска программы. Открыть окно VBA. В модуле ThisDocument написать процедуру, при помощи которой запускается форма:

Public Sub Форма()

UserForm2.Show

End Sub

связать процедуру с кнопкой на панели. Внимание! Панель инструментов и кнопку создавать в текстовом документе Word, а не в окне VBA.

Задание 1 Создать пользовательскую форму. Ниже приведен фрагмент программы. Попробуйте определить для чего он необходим. Используя сведения, полученные на лекции № 10 ответьте на вопросы: Что такое Value ? Что такое Caption ? Что такое ScrollBar1 ? Что обозначает надпись Label1.Caption ? Создайте на форме необходимые элементы управления. Реализуйте текст программы в элементе формы. Запустите форму в работу. Опишите что вы наблюдаете.

Dim Var1 As Integer

Private Sub ScrollBar1_Change()

' Программа присваивания надписи значения, определяемого полосой прокрутки

Label1.Caption = Trim$(Str$(ScrollBar1.Value))

Var1 = ScrollBar1.Value

Label2.Caption = Trim$(Str$(Var1 * 8))

End Sub

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

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then

Label1.Visible = True

Else

Label1.Visible = False

End If

End Sub

Private Sub SpinButton1_Change()

CheckBox1.Caption = "Вывод результата"

Label1.Font.Size = 26

SpinButton1.Min = 3

SpinButton1.Max = 60

TextBox1.Font.Bold = True

TextBox1.Font.Size = 26

TextBox1.AutoSize = True

TextBox1.Value = SpinButton1.Value

Label1.Caption = SpinButton1.Value * 100

End Sub

Создайте форму, введите в модуле формы программы, опишите что происходит с элементами управления на форме. Ответьте письменно на вопросы:

  1. Какие объекты обозначают имена- CheckBox1, Label1, TextBox1, SpinButton1?

  2. Каким оператором задается размер текста на надписи, равный 26 пунктам?

  3. Для чего необходим оператор SpinButton1.Max = 60?

  4. Какая процедура позволяет включать и выключать надпись?

  5. Каким способом можно задать автоматическое изменение размеров текстового поля? (Size- обозначает размер)

  6. Какой оператор присваивает надписи значение счетчика умноженное на число?

  7. Запишите оператор при помощи которого можно задать автоматическое изменение размеров надписи в соответствии с длинной помещаемого в ней текста или числа?