Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Разработка интерфейса



5.1 Интерфейс программы предусматривается для удобства ввода исходных данных и вывода результатов расчета. Реальная расчетная таблица может быть очень большой, данные и результаты могут быть не видны на одном экране, разбросаны по таблице. Для редактирования данных, их ввода, удаления и просмотра результатов расчета будет требоваться перемещение по большой таблице, что не очень удобно. Разработка интерфейса программы включает проектирование форм для ввода исходных данных и вывода результатов. Написания кода для процедур отклика элементов управления: кнопок, кнопок выбора, счетчиков и т.д.

5.2 Начнем разрабатывать интерфейс. Для этого, перейдем на вкладку Разработчик – Вставить – CommandButton, рисуем ее внизу таблицы, переименовываем ее в «Работа с исходными данными» и жмем на кнопку Visual Basic for Applications.

5.3 Появится окно редактора кода. Нажимаем на Insert – UserForm, тем самым, создаем окно интерфейса. Берем из панели ToolBox (Панель инструментов) инструмент Label, рисуем место на форме, где будет пояснение что вводим в поле ввода, рядом рисуем само поле ввода – TextBox. Для каждого инструмента Label на форме в окне свойств Properties в значение Caption вводим пояснение поля ввода.Забегая вперед, сделаем еще кнопки инструментом CommandButton – «Закрыть форму», «Подвести итоги», а также двойную кнопку SpinButton.

Чистая форма и панель инструментов.

5.4 Аналогично рисуем инструменты для остальных столбцов, кроме столбца «Соотношение количества в ремонте единиц оборудования к величине потерь от простоя каждой единицы оборудования», так как его высчитывает сама программа.

Форма с вставленными инструментами.

5.5 Теперь необходимо сделать так, чтобы интерфейс работал. Для этого, сначала нам надо написать код для кнопки на таблице, чтобы при ее нажатии открывалась наша форма. Создаем модуль – Insert – Module, пишем в него это код:

Sub Кнопка1_Щелчок()

frmMain.Show

5.6 Нажимаем на форму в редакторе, изменяем значение Name в окне Properties (Свойства) с стандартного UserForm1 на frmMain. Теперь при нажатии на кнопку в таблице будет ввыводиться на экран наша форма.

5.7 Теперь работаем с формой. В созданном нами модуле прописываем новые переменные Rec и Main. Они упрощают работу формы. Их код:

Public Rec As Integer

Public Const Sh = "Main"

Sh – это константа, обозначающая наш лист Main в таблице, Rec – это переменная строка.

5.8 Дальше свяжем поля ввода – TextBox со значениями ячеек в таблице. Для этого, переходим к части кода формы относящейся к полю ввода двойным щелчком по полю на форме. Откроется редактор кода и курсор остановится на коде данного поля. Изменяем TextBox_Click на TextBox_ Change. Вводим код, где Rec – переменная строка. Учитывайте, что номер TextBox для разных инструментов на форме разный:

Пример кода для инструмента TextBox.

5.9 Программируем кнопку SpinButton. Поскольку она имеет два положения – «Вверх» и «Вниз» - прописываем для них условия:

Private Sub SpinButton1_SpinDown()

If Rec >= 9 Then Rec = 9 Else Rec = Rec + 1

frmMain.TextBox5.Text = Sheets(Sh).Cells(Rec, 2)

frmMain.TextBox1.Text = Sheets(Sh).Cells(Rec, 3)

frmMain.TextBox4.Text = Sheets(Sh).Cells(Rec, 4)

frmMain.TextBox3.Text = Sheets(Sh).Cells(Rec, 5)

End Sub

Private Sub SpinButton1_SpinUp()

If Rec <= 5 Then Rec = 5 Else Rec = Rec - 1

frmMain.TextBox5.Text = Sheets(Sh).Cells(Rec, 2)

frmMain.TextBox1.Text = Sheets(Sh).Cells(Rec, 3)

frmMain.TextBox4.Text = Sheets(Sh).Cells(Rec, 4)

frmMain.TextBox3.Text = Sheets(Sh).Cells(Rec, 5)

End Sub

6.0 Теперь нам необходимо сделать так, чтобы при открытии формы в полях ввода появлялись значения ячеек из таблицы. Для этого пишем код на открытие формы:

Private Sub UserForm_Activate()

Rec = 5

frmMain.TextBox5.Text = Sheets(Sh).Cells(Rec, 2)

frmMain.TextBox1.Text = Sheets(Sh).Cells(Rec, 3)

frmMain.TextBox4.Text = Sheets(Sh).Cells(Rec, 4)

frmMain.TextBox3.Text = Sheets(Sh).Cells(Rec, 5)

End Sub

6.1 Программируем кнопку «Закрыть форму». Вводим довольно простой код:

Private Sub CommandButton1_Click()

frmMain.Hide

End Sub





Дата публикования: 2014-12-28; Прочитано: 137 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...