Методические указания для выполнения задачи № 1
Карулина В.А.
Методические указания и задания к выполнению домашней работы № 3(4) «Разработка интерфейса для задач, решаемых средствами Excel»
Москва 2016
УДК ББК Рекомендовано к изданию в качестве методических указаний к выполнению домашней работы редакционно-издательским советом МГУПИ В методических указаниях рассмотрено решение задач организации диалога с помощью программ, созданных на языке Visual Basic for Application для Excel. Основная цель работы – сформировать у студентов комплекс знаний, умений и навыков, необходимых для решения профессиональных задач в области автоматизации работы по заполнению и вычислению данных. Кроме этого, затрагиваются основные положения создания и разработки баз данных в Excel. Вторая задача домашней работы: организовать связь Excel и Word. Сформировать выдачу данных, полученных средствами Excel в печатную форму, организованную средствами Word. В работе приводится 31 вариант задач. Номер варианта задается преподавателем. Методические указания предназначены для работы со студентами 1 курса всех специальностей по дисциплине «Информатика».
Методические указания и задания к выполнению домашней работы № 3 «Разработка интерфейса для задач, решаемых средствами Excel» В домашней работе № 3 (4) рассматриваются две задачи: 1. Заполнение данными некоторой таблицы (БД) с помощью диалога; 2. Организовать связь Excel и Word. Сформировать выдачу данных, полученных средствами Excel в печатную форму, организованную средствами Word. Номер варианта определяется преподавателем. Домашняя работа должна быть оформлена в соответствии со стандартом МГУПИ. Титульный лист для домашней работы дан в приложении 1. Работа должна содержать задание, разработанные формы в рабочем состоянии (примеры решений), заполненную БД (5-10 строк) промежуточные вычисления с показом формул. Списки наименований в конкретной предметной области не менее 5 (например, виды процессора в компьютерном магазине). Коды программ должны быть снабжены комментариями.
Методические указания для выполнения задачи № 1 Первая задача домашней работы № 3 заключается в разработке приложения, позволяющего при помощи диалога заполнять базу данных. Рассмотрим эту задачу на примере заполнения базы данных туристического агентства. Собственно база данных «Турист» создается на листе 1. Это таблица из 8 полей, показанная на рисунке 1. Рисунок 1. База данных «Турист» на рабочем листе Для заполнения базы данных на рабочем листе с помощью редактора пользовательских форм создадим диалоговое окно «Регистрация» (Рисунок 2). Рисунок 2. Диалоговое окно Регистрация На форме установлен элемент управления SpinButton, который часто используется для увеличения или уменьшения значения другого элемента управления, например, элемента управления Label. Свойство SmallChange определяет, насколько значение элемента управления SpinButton изменяется при нажатии. Выполним задачу добавления элемента управления SpinButton, которое увеличивает или уменьшает число (дату), хранящееся в элементе управления TextBox. Для этого выполните следующие действия. 1. Установите на форму 2 элемента: SpinButton и TextBox. 2. Дважды щелкните элемент управления SpinButton, чтобы открыть окно кода для элемента управления SpinButton. 3. В окне кода введите следующий код для события SpinButton1_SpinUp (указатель вверх (вправо)): Private Sub SpinButton1_SpinUp() TextBox1.Text = DateValue(TextBox1.Text) + 1 End Sub В окне кода введите следующий код для события SpinButton1_SpinDown (указатель вниз (влево)): Private Sub SpinButton1_SpinDown() TextBox1.Text = DateValue(TextBox1.Text) - 1
End Sub В окне кода введите следующий код в событие Инициализации пользовательской формы: Private Sub UserForm_Initialize() TextBox1.Text = Date End Sub Проект БД состоит из одного листа (Лист1) и одной формы (UserForm1). Рисунок 3.Окно проекта разрабатываемого приложения При загрузке (открытии) книги работает программа Workbook_Open(). Ее можно открыть, дважды щелкнув по объекту ЭтаКнига. Ее действия ясны из комментариев.
Private Sub Workbook_Open() Worksheets("Лист1").Activate Load UserForm1 'Процедура вызова диалогового окна 'и задание элементов раскрывающегося списка 'Задание пользовательского заголовка окна приложения Application.Caption = "Регистрация. БД фирмы 'МГУПИ-Тур'" 'Закрытие строки формул окна Excel Application.Display FormulaBar = False 'Всплывающая подсказка для кнопки OK With UserForm1.CommandButton1 .ControlTipText = "Ввод данных в базу данных" End With 'Всплывающая подсказка для кнопки Отмена With UserForm1.CommandButton2 .ControlTipText = "Кнопка отмены" End With 'Задание элементов раскрывающегося списка UserForm1.ComboBox1.List = Array("Лондон", "Париж", "Берлин") 'Установка элемента раскрывающегося списка в "схлопнутом" 'состоянии 'Счет элементов с нуля! UserForm1.ComboBox1.ListIndex = 0 'Активизация диалогового окна UserForm1.Show End Sub Рисунок 4. Вид диалогового окна «Регистрация» Нажатие на кнопку OK запускает на выполнение процедуру CommandButton1_Click, которая: 1. определяет номер первой пустой строки в базе данных о регистрации туристов, куда будет введена новая запись; 2. считывает данные из диалогового окна; 3. вводит их в первую пустую строку. Для определения первой пустой строки используется инструкция
НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1,
правая часть которой вычисляет число непустых ячеек в первом столбце активного рабочего листа. Переменной НомерСтроки присваивается значение на единицу большее, чем число непустых строк. Private Sub CommandButton1_Click() ' Процедура считывания информации из диалогового окна ' и записи ее в базу данных на рабочем листе ' Смысл переменных однозначно определен их названиями Dim Фамилия As String * 20 Dim ИмяAs String * 20 Dim Пол As String * 3 Dim ВыбранныйТур As String * 20 Dim Оплачено As String * 3 Dim Фото As String * 3 Dim Паспорт As String * 3 Dim Срок As String * 3 Dim НомерСтроки As Integer 'НомерСтроки - номер первой пустой строки рабочего листа
НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1 'Считывание информации из диалогового окна в переменные With UserForm1 Фамилия =.TextBox1.Text Имя =.TextBox2.Text Срок =.TextBox3.Text ' IIf – оператор «Сокращенный if» Пол = IIf(.OptionButton1.Value = True, "Муж", "Жен") Оплачено = IIf(.CheckBox1.Value = True, "Да", "Нет") Фото = IIf(.CheckBox2.Value = True, "Да", "Нет") Паспорт = IIf(.CheckBox3.Value = True, "Да", "Нет") ВыбранныйТур =.ComboBox1.List(.ComboBox1.ListIndex, 0) End With 'Ввод данных в строку с номером НомерСтроки рабочего листа With ActiveSheet Cells(НомерСтроки, 1).Value = Фамилия Cells(НомерСтроки, 2).Value = Имя Cells(НомерСтроки, 3).Value = Пол Cells(НомерСтроки, 4).Value = ВыбранныйТур Cells(НомерСтроки, 5).Value = Оплачено Cells(НомерСтроки, 6).Value = Фото Cells(НомерСтроки, 7).Value = Паспорт Cells(НомерСтроки, 8).Value = Срок End With End Sub
Кнопка Отмена очищает установленные значения на форме. Для этого она обращается к подпрограмме Очистка-формы, записанной в Modults. Закрывает диалоговое окно. Устанавливает заголовок приложения, используемый по умолчанию, т.е. удаляет пользовательский заголовок приложения, созданный при активизации формы. Private Sub CommandButton2_Click() Очистка-формы UserForm1.Hide Application.Caption = Empty Worksheets("Лист1").Activate End Sub
'Обратите внимание: стоит опция Public Public Sub Очистка-формы() Application.Caption = "Регистрация. БД ‘МГУПИ-Тур’" Application.DisplayFormulaBar = False With UserForm1.CommandButton1 .ControlTipText = "Ввод данных в БД" End With With UserForm1.CommandButton2 .ControlTipText = "Кнопка отмены" End With UserForm1.ComboBox1.List = Array("Лондон", "Париж", "Берлин") UserForm1.ComboBox1.ListIndex = 0 UserForm1.TextBox1.Text = "" UserForm1.TextBox2.Text = "" UserForm1.TextBox3.Text = "1" UserForm1.CheckBox1.Value = False UserForm1.CheckBox2.Value = False UserForm1.CheckBox3.Value = False End Sub
Любые действия, производимые на листах Excel, могут быть записаны с помощью MacroRecorder, который переведет производимые действия на язык VBA. Для активизации MacroRecorder выберите команду Макрос/Начать запись (Tools, Macro, RecordNewMacro) и запустите MacroRecorder на запись (см. Рисунок 5). Там же появится кнопка Остановить запись (StopRecording). Теперь все производимые действия будут записываться до тех пор, пока не будет нажата эта кнопка.
Из записанного макроса остается только скопировать нужные фрагменты в программу создаваемого приложения о базе данных регистрации туристов.
Рисунок 5. Запись макроса
На листе1 установлена кнопка Ввод, которая выдает пустую форму. если Вы отменили ввод по кнопке Отмена и тем самым убрали форму.
Рисунок 6. Подпрограмма для кнопки «Ввод»
Задача 1. Разработать форму для внесения данных в базу (таблицу). Диалоговое окно (форма) должна содержать разнообразные управляющие элементы: метки, текстовые поля, счетчики, переключатели, раскрывающиеся списки, группы, флажки, кнопки, удобные для работы с различными типами данных. Дизайн формы должен учитывать эргономические требования: удобные размеры, четкость восприятия, наименьшее количество манипуляций с клавиатурой, мышкой. Варианты для задачи 1 помещены в таблице 1. Таблица 1
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|