Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Лабораторная работа №6 Формы пользователя






    Формы пользователя – это диалоговые окна, предназначенные для создания собственного интерфейса при работе с программными модулями проекта, используя объект UserForm. При помощи форм пользователя VBA, которые называются также экранными формами, можно создавать диалоговые окна для вывода данных или получения значений от пользователя в виде, требуемом программе пользователя. Хотя во многих случаях для этих целей можно применять функции MsgBox и InputBox (или метод InputBox), при разработке сложных проектов возможности их недостаточны. В экранных формах пользователя можно в одном диалоговом окне задавать сразу несколько опций, выбирать пункты из списка или вводить несколько значений, наподобие диалоговых окон приложений MS Office.

    Упражнение 1

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

    1. Открыть рабочую книгу.

    2. Войти в редактор Visual Basic, нажав комбинацию клавиш < Alt+F11> или щёлкнув по кнопке в Excel 2007-2010 или по кнопке в Excel 97-2003.

    3. Если в окне проекта не появится окно Project – VBAProject, то выбрать в меню View пункт Project Exsplorer.

    4. В окне проекта щёлкнуть правой кнопкой мыши на элементе
    ЭтаКнига.

    5. В контекстном меню выполнить команду Insert> UserForm (Вставка > Экранная форма). В рабочую книгу будет вставлена экранная форма UserForm1 и Панель элементов ToolBoox (рис.15).

    Новая экранная форма представляет собой пустое окно со строкой заголовка UserForm1. Это та основа, на которой пользователь может создать собственные диалоговые окна и окна других типов. Если панель ToolBoox не появится, нужно выбрать в меню View пункт ToolBoox или нажать кнопку на панели Microsoft Visual Basic.

    Если окно свойств формы Properties – UserForm1 не появится, то для установки свойств формы нужно выполнить команду
    View | Properties Windows или нажать клавишу F4.

    Окно ToolBoox можно при необходимости переместить в любое место окна UserForm.

    Упражнение 2

    Изучить п.2.11.1. – 2.11.2 учебного пособия Теория_к_лаб_6.doc,. и выполнить находящиеся в них процедуры по указанию преподавателя.

    Упражнение 3 [1]

    Создать пользовательскую форму, в которой размещены элементы управления Label (надпись), CommandButton (кнопка управления). При нажатии на кнопку “Запуск” будет генерироваться случайное число. Это число должно отображаться в элементе Label (надпись). Затем вычислим корень квадратный из этого числа, его синус и косинус, а результаты выведем в другие элементы управления Label (надпись). Кроме этого, в форме выводится текущая дата. При нажатии на кнопку “Выход” форма удаляется с экрана. Для запуска формы на листе Excel необходимо создать кнопку с надписью “Функции VBA”.

     

    Порядок работы:

    1. Запустить Excel.

    2. Загрузить VBA:

    – в Excel 2007-10:

    вкладка Разработчик | пункт меню Insert | UserForm

    – в Excel 97-3003:

    Сервис | Макрос | Редактор Visual Basic | Insert | UserForm.

    3. Проверить, чтобы на экране появилось окно проекта и окно свойств. Форму можно увеличить стандартным способом, ухватившись за правый нижний угол и растягивая ее.

    4. Сделать появившуюся форму активной и установить значения свойств данного объекта:

    5. Добавить в форму средства управления. При разработке потребуется два инструмента: Label (надпись) и CommandButton (кнопка управления) с панели элементов. Форма с элементами управления в режиме конструктора примет следующий вид:

    6. Для вывода результатов расчета подготовить элементы Label1, Label2, Label3, Label4. Для этого необходимо установить значения свойств объекта Label1 ÷ Label4:

    7. Для пояснительных надписей установить значения свойств элементов Label5, Label6, Label7, Label8:

    8. Для вывода текущей даты установить значения свойств элемента Label9:

    9. Добавить в форме командную кнопку для запуска программы, применив элемент управления CommandButton1 и установить значения свойств объекта CommandButton1:

    10. Добавить в форму командную кнопку для закрытия формы, применив элемент управления CommandButton2, и установить значения свойств объекта CommandButton2:

     

     

    После выполнения всех пунктов форма в режиме конструктора будет выглядеть так:

     

    11. Проверить работу формы. Для вывода формы на экран выполнить команду Run | Run Sub/UserForm или нажать клавишу . На фоне листа Excel появится созданная форма, но при нажатии на кнопку “Запуск” или “Выход” ничего не произойдет, т.к. не запрограммирован отклик на событие (нажатие кнопки). Закрыть форму и в войти в редактор VBA.

    12. В форме дважды щелкнуть на кнопке “Запуск”, чтобы вывести заготовку программы, связанную с командной кнопкой.

    Программа начинается с заголовка Private Sub (локальная процедура) и заканчивается предложением End Sub (конец процедуры). Между этими предложениями записывается текст программы.

    13. Написать тексты процедур, обеспечивающих работу с формой.

    Private Sub CommandButton1_Click()

    Randomize

    Label9.Caption = Date

    Label1.Caption = Int((Rnd * 90) + 1)

    Label2.Caption = Sqr(Label1.Caption)

    Label3.Caption = Cos(Label1.Caption * 3 / 14 / 180)

    Label4.Caption = Sin(Label1.Caption * 3 / 14 / 180)

    End Sub

    Проанализируем текст программы. Синтаксис установки значения свойства объекту имеет вид:

    Объект.Свойство = ЗначениеСвойства.

    Каждая строка программы содержит название объекта, его свойство (левая часть строки, до равенства) и установку значения свойства (правая часть строки, после знака равенства).

    • Label— объект.
    • Caption— свойство.
    • Date — значение свойства (текущая дата).
    • Инструкция Randomize инициализирует генератор случайных чисел.
    • Rnd * 90— значение свойства. Функция генерации случайных чисел Rnd генерирует случайное число между 0 и 1.
    • Функция Int возвращает целую часть аргумента (в данном случае – произведение случайного числа на 90) и отбрасывает дробную часть аргумента. Результат – числа от 1 до 90.
    • Sqr(Label1.Caption). Sqr – функция извлечения квадратного корня. Так как случайное число сохранилось в объекте Label1, то применяется функция Sqr, аргументом которой является объект, в котором хранится случайное число.
    • Sin(Label1.Caption * 3.14159 / 180)—аргумент функции синус рассматривается в радианах, но для того, чтобы было привычнее анализировать полученные результаты, применим формулу для преобразования градусов в радианы, т.е. преобразуем случайное число (градусы) в радианы и получим результат.

    14. Вывести форму на экран, нажав клавишу (F5), и проверить работоспособность кнопки “Запуск”. Результат выполнения программы показан на рисунке.


    15. Составить процедуру для кнопки “Выход”. Для этого нужно перейти в редактор VBA и дважды щелкнуть по кнопке “Выход” в форме. Появится заготовка программы:

    Private Sub CommandButton2_Click()

    End Sub

    в которую нужно вставить одну строку программы – UserForm1.Hide,

    в которой:

    · UserForm1 — это объект.

    • Hide — это метод:

    Private Sub CommandButton2_Click()

    UserForm1.Hide

    End Sub

    Кроме запуска программы по нажатию клавиши (F5), существует еще один способ вывода формы на экран. Для этого:

    1. Перейти в приложении Excel на любой лист.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.