Шестаков В.С. Оптимизация параметров горных машин. Учебное пособие (811777), страница 38
Текст из файла (страница 38)
п. 2.1)Sub Макрос1()MsgBox ("Пример отклика на нажатие кнопки")End Sub; выбрать курсором мыши кнопку на панели "Формы" (щелкнуть мышью по изображению кнопки, после чего она отметитсясветлым цветом); щелкнуть мышью в нужном месте рабочего листа, после чего кнопка переместится на лист и появится диалоговое окно "Назначить макрос объекту"; мышью указать подпрограмму, которая должна выполнятьсяпри нажатии на кнопку, и нажать кнопку ОК; отредактировать название кнопки – щелкнуть мышью внутри надписи "Kнопка", удалить текст "Кнопка" и ввести новое наименование; изменить кнопку до нужных размеров - навести курсор наодин из масштабных квадратов (при этом курсор должен изменитьвид на двунаправленную стрелку), нажать левую кнопку и, не отпуская ее, изменить размер; выполнить щелчок кнопкой по любому месту рабочего листа вне кнопки – кнопка выйдет из режима редактирования; для последующего редактирования кнопки (изменение ееназвания, размеров или назначение ей другой подпрограммы) необходимо выполнить по ней щелчок правой кнопкой мыши - появится232контекстное меню, из которого необходимо щелчком мыши выбрать нужный пункт. Применение отклика на события с листомВ Excel имеется возможность вставлять подпрограммы VisualBasic, которые будут выполняться при реализации каких-либо действий с листом – откликаться на события листа.
Такими событиямибудут перемещение курсора по ячейкам, завершение ввода данныхи др.Для составления программы необходимо вызвать панель "Элементы управления", нажать кнопку "Исходный текст", после чего наэкран выведется лист с заготовкойPrivate Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)End Sub.Внутри этой процедуры можно вводить свой код.Пример процедур вывода сообщений при выполнении действий с листомPrivate Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)MsgBox ("Пример реагирования действия на событие с листом")End Sub Применение диалоговых формДля организации управления работой программы иногда недостаточно одних только элементов управления в виде кнопок, атребуется использование и других элементов. В более ранней версии Excel в таком случае применяют специальные формы управления–диалоги, на которых располагаются требуемые для задачиэлементы.
Чаще всего диалог представляет собой форму с кнопками и одним или несколькими меню, из которых можно выбиратьодин или несколько элементов. Выбранные элементы можно далее использовать для вычислений или отображений на листах.Форма представляет собой отдельный лист книги Excel, и напоминает формы языка программирования Visual Basic. Отличием можно считать меньшие возможности по работе с визуальными элементами.Для создания заготовки листа диалога необходимо: выполнить щелчок правой кнопкой мыши по наименованиюлиста;233 из контекстного меню выбрать пункт "Добавить"; выбрать из раскрывающего меню пункт "Окно диалога Excel5.0 ".На экране появится лист с именем "Диалог1" и диалоговаяформа с двумя кнопками «ОК» и «Отмена». На диалоговую формуиз панели инструментов "Формы" опускаются нужные элементы:кнопки, списки, надписи. Лист "Диалог1" можно переименовать.Применение списковСписок – это визуальный элемент, позволяющий выводить наэкран список элементов и выбирать из него нужный элемент.
В таком виде его можно использовать для создания меню. В инструментах, расположенных на панели «Формы», имеется два варианта:«Список» и «Поле со списком». Отличие их в том, что «Список»выводит сразу несколько строк, а «Поле со списком» выводит вначале только одну строку, а остальные появятся после выполнениящелчка по кнопке раскрытия списка.Список формируется в следующей последовательности:- на одном из листов книги Excel заполняется нужный список(каждый элемент в отдельной ячейке);- на лист "Диалог1" из панели «Формы» опускается элемент«Список» или «Поле со списком»;- выполняется двойной щелчок мышью по элементу «Список», после чего на экран выведется панель «Формат элементауправления»;- в панели необходимо выбрать щелчком мыши закладку«Элемент управления»;- выполняется щелчок по полю ввода, расположенному рядомс надписью «Формировать список по диапазону» – внутри полядолжен появиться текстовый курсор в виде вертикальной линии;- выполняется щелчок по наименованию листа, на которомнаходится сформированный ранее список;- курсор мыши наводится на первую ячейку элементов списка, нажимается левая кнопка и, не отпуская ее, перемещениеммыши выделяют весь список, после чего кнопка отпускается;- выполняется щелчок по полю ввода, расположенному рядомс надписью «Помещать результат в ячейку» – внутри поля должен234появиться текстовый курсор в виде вертикальной линии;- выполняется щелчок по наименованию листа, на которыйнеобходимо будет поместить результат выбора (можно на тот желист, на котором расположен список);- выполняется щелчок мышью по ячейке, в которую будетпомещен результат выбора элемента списка (результат выводится ввиде номера выбранного элемента списка, например 2);- для элемента «Поле со списком» выполняется щелчок пополю ввода, расположенному рядом с надписью «Количество строксписка» и вводится количество элементов, которое будет видно прираскрытии списка.После оформления диалоговой формы со списком в программеобеспечивают ее активизацию.
Для активизации используется строкаDialogSheets("Диалог1").Show.Чтобы вызвать эту строку, можно установить на листе Excelкнопку и связать через подпрограмму с ней указанную строку.Кроме такого способа можно в программе предусмотреть автоматический вызов диалоговой формы в начале загрузки книги Excel.Для автоматического вызова используется процедураSub Auto_Open()DialogSheets("Диалог1").ShowEnd Sub.С кнопками «ОК» и «Отмена» также можно связать процедуры. Для организации заготовки процедуры необходимо выполнитьщелчок по кнопке с надписью «ОК» на диалоговой панели (вокругкнопки появятся маркеры), а затем выполнить щелчок по кнопке«Текст программы», расположенной на панели «Формы».
В результате этих действий появится процедура.Sub Кнопка2_Щелкнуть()End SubВнутрь этой процедуры можно ввести собственный код программы, который будет выполняться при выполнении щелчка мышью по кнопке «ОК» на диалоговой форме. Аналогично оформляется код для кнопки «Отмена».235 Создание и использование форм (UserForm)Чтобы придать приложению Excel привлекательный внешнийвид, применяются формы, которые позволяют реализовать привычный пользователю, работающему в Windows, интерфейс.
Формывыглядят как диалоговые окна. Они заменяют листы диалоговыхокон и позволяют скрывать рабочие листы и вводить всю информацию с помощью диалоговых окон.Для вставки UserForm необходимо вызвать редактор VisualBasic (см. рис. П. 2.1), а затем щелкнуть по кнопке «ВставитьUserForm» (или через пункты меню: Вставка\ UserForm), после чегона экран выведется форма и панель с элементами управления, показанная на рис.
П. 2.10.Вставить UserFormРис. П.2.10. Вставка UserFormРазмещение элементов управления в формеДля размещения элементов управления на форме:1. Выполните щелчок мышью по объекту на панели элементов, который требуется добавить в форму.2362. Наведите курсор на панель на то место, где должен располагаться элемент, и обведите рамкой требуемый размер.Рекомендация. Сразу же после перенесения элементов наформу задайте им имена, имеющие смысловое для разрабатываемойпрограммы значение. В противном случае все объекты будут иметьничего не значащие имена, например TextBox1.Установка и изменение свойств элементовВсе элементы управления обладают набором свойств, позволяющих управлять их состоянием и внешним видом.Для изменения свойств на этапе разработки выполнитещелчок правой кнопкой мыши поэлементу и выберите из контекстного меню команду «Свойства»(Properties).
На экране появитсяокно свойств (рис. П.2.11).В левой колонке окна находятся имена свойств, а в правой их значения. Для изменениясвойств щелкните мышью по соответствующей ячейке правой колонки. Некоторые значения, напримернаименование элемента,Кнопка вызованепосредственновводятся с класпискавиатуры, другие же выбираются изимеющегося списка значений. ПриРис. П.2.11. Окно свойствналичии списка в такой ячейкерасполагается кнопка вызова ▼ . При щелчке мышью по этойкнопке раскроется список, выбор нужного элемента из спискаосуществляется также щелчком. В некоторых ячейках на кнопках вызова изображены три точки. Щелчок по этой кнопке приводит к вызову диалоговых окон.237Назначение наиболее часто используемых свойств:Свойство(Name)CaptionForeColorBackColorBackStylePictureVisibleControlTipTextBorderColorBorderStylеSpecialEffectLeft,TopHeigth, WidthEnabledЗначениеНаименование элемента для последующего использования впрограммеСвойства, управление видом элемента и формыСтрока, выводимая на элементеЦвет надписи на элементеЦвет поверхности элемента1 – заданный BackColor цвет на поверхности, 0 - прозрачнаяИзображение, выводимое на элементеTrue – при выполнении программы элемент виден, False - нетПодсказка, выводится при задержке курсора на элементеДля формы задание цвета рамки1 – вывод формы с рамкой, 0 – без рамкиДля формы придание эффекта наглядностиРазмещениеКоординаты левого верхнего угла элемента на формеВысота и ширина элементаTrue – элемент включен, False – выключен и не реагирует нащелчки мышью (используется для управления из программы)Для изменения свойств элементов в процессе выполнения программы введите в нужном месте в текст программы соответствующую строку.Назначение элементовНа панели инструментов расположены элементы (рис.
П.2.12): выбор объекта – активизация объекта на UserForm; надпись (Label) – вывод необходимых сообщений на UserForm; поле (TextBox)- ввод текстовых значений с клавиатуры и выводрезультатов; список (ListBox) – вывод списка для выбора элемента; поле со списком (ComboBox) – вывод списка для выбора элемента и вывода выбранного элемента в поле; флажок (CheckBox) – ввод сообщения в виде альтернатив “истина”-“ложь” с возможностью многократного переключения; переключатель (OptionButton) - однократное переключение альтернативы “ложь” на “истину”;238 выключатель (ToggleButton) - кнопка с фиксацией положений ивозвратом состояния; рамка (Frame) – рамка с надписью в верхней части для выделения группы элементов; кнопка (CommandButton) – организация управления по щелчкумыши; набор вкладок (TabStrip) – для выбора варианта из нескольких; набор страниц (MultiPage) – создание многостраничных форм; счетчик (SpinButton) - для передачи в программу значенийщелчками мыши (значения меняются на 1); полоса прокрутки (ScrollBar) - для передачи в программу значений щелчками мыши (значения меняются на 1) или перемещением указателя; рисунок (Image) – вывод изображений из файлов; поле Edit (RefEdit) – ввод текстовой строки.Чтобы один из группы переключателей переходил в положение «Истина», а остальные в «Ложь», необходимо поместитьна форму вначале рамку, а затем внутрь рамки расположить всюгруппу переключателей.Выбор объекта Надпись (Label)Поле (TextBox) Поле со списком (ComboBox)Список (ListBox)Переключатель(OptionButton)Флажок (CheckBox)Кнопка (CommandButton)Выключатель(ToggleButton)Набор страниц (MultiPage)Набор вкладок (TabStrip)Поле Edit (RefEdit)Рамка (Frame)Счетчик (SpinButton)Полоса прокрутки (ScrollBar)Рисунок (Image)Рис.