Окно редактирования кода
Окно кода(рис. 10)предназначено для ввода кода процедур, функций, описания переменных, директив и пр. Именно в этом окне будет проходить ваша работа, т.к. в нем устанавливаются связи между элементами управления вашего приложения, описываются вспомогательные функции.
Рис. 10. Окно редактирования кода
Вверху окна кода находятся два окна «Object» и «Procedure», в которых указывается текущий объект (с ним вы работаете) и тип процедуры, которую вы описываете. В данном случае видно, что программист описывает процедуру для командной кнопки CommandButton1 и процедура эта – «кликанье» левой кнопкой мыши (Click).
Для переключения из режима проектирования формы в режим редактирования кода служит команда ViewØCode (ВидØПрограмма). Обратный переход – команда ViewØObject (ВидØОбъект).
Чтобы спроектировать наше приложение, нужно взять некоторые стандартные элементы управления, поместить их на форму (одну или несколько), затем установить начальные свойства этих элементов и создать код обработки событий, связанных с этими элементами.
Как только условие задачи адекватно воплотится в работоспособном коде программы, приложение считается готовым.
В окне проекта выберите имя проекта, в который требуется добавить форму.
В меню редактора VBA выберите команду Insert (Вставка) \ UserForm. Выводится пустая форма и набор инструментов.
Поместите на форму элементы управления, как это представлено на рисунке 11.
Рис. 11. Расположение элементов на форме
В примере используем следующие элементы управления.
Наиболее простой элемент, используемый во многих приложениях, это метка (Label) . Метка служит для вывода текстовой информации вспомогательного характера: подпись к другим элементам, комментарии к действию, расширенное описание этого действия и пр.
Текстовые окна (TextBox) . Этот элемент служит для приема от пользователя данных: текст, числа и пр. Текст можно редактировать, выделять, заносить в буфер и пр.
Командные кнопки (CommandButton) . Командные кнопки являются одним из самых простых и используемых элементов управления. Их назначение интуитивно понятно: на них надо кликнуть левой кнопкой мыши и после этого произойдет какое-то событие.
Имея в своем распоряжении эти три элемента (кнопка, метка, текстовое окно) можно решить 90 % задач курса математики, физики и прочих дисциплин.
Элементам управления автоматически будут присвоены имена, указанные на рисунке 11.
Как видно из рисунка, в элементах типа Label разместим надписи: a=, b=, c=, x=, результат расположим также в элементе типа Label, в элементы типа TextBox поместим исходные данные, в элементе типа Image расположим формулу для вычисления y (начинающим программистам этот элемент можно не размещать). Для запуска подпрограммы поместим командную кнопку CommandButton1.
Чтобы поместить элемент управления на форму, нужно нажать на панели элементов кнопку нужного элемента, затем щелкнуть в любом месте формы. После появления нужного элемента перетащить его в нужное место (метод «drag-and-drop»). Чтобы изменить размер элемента, можно перетащить его рамку, предварительно выделив элемент.
Используя общепринятые соглашения об именах объектов, переименуем элементы управления TextBox1, TextBox2, TextBox3 TextBox4 в TxtA, TxtB, TxtC и TxtX соответственно. Для этого достаточно изменить их свойство Name (имя) в окне свойств. Для этого выделим элемент, в окне свойств найдем свойство Name (имя). Впишем соответствующее имя в правую колонку и нажмем <Enter>. Остальные имена объектов оставим без изменений.
Командной кнопке автоматически будет присвоено имя CommandButton1, а надпись на ней автоматически будет «CommandButton1». Измените надпись на кнопке – для этого достаточно изменить ее свойство Caption (надпись) и записать новый текст «Пуск». Для этого выделите кнопку, в окне свойств найдите свойство Captionи впишите в него «Пуск».
Сгенерируйте процедуру обработки события Click (кликанье левой кнопки мыши) для кнопки CommandButton1. Для этого достаточно быстро кликнуть на этой кнопке два раза левой кнопкой. В результате будет создана нужная нам процедура, в которую надо ввести код:
Программный код
Private Sub CommandButton1_Click()
Dim A As Single
Dim B As Single
Dim C As Single
Dim X As Single
Dim Y As Single
A = Val(TxtA.Value)
B = Val(TxtB.Value)
C = Val(TxtC.Value)
X = Val(TxtX.Value)
Y = (X * Sqr(A + B) + Exp(-3 * A)) / (Sin(X ^ 2) + Cos((C + A) ^ 2) ^ 2) _
+ Atn(Abs(X - B)) / (3 * B * (A - B)) + Log(Abs(1 - A ^ (B - C)))
Label5.Caption = "Значение функции Y = " & Str(Y)
End Sub
Пояснение. Для элементов управления типа TextBox свойство Value это текст, введенный в окно. Поэтому введем исходные данные в текстовые окна при помощи свойства Value. Ответ выводится в метку (Label5) после того, как пользователь кликнет на командной кнопке «Пуск» (CommandButton1). Отметим использование функции Val(), которая переводит «строку» в числовое значение соответствующего типа и функцию Str(), которая преобразует десятичное число в строковую форму.
Запустите ваше приложение, выбрав команду RunØ Run Sub / UserForm или нажав функциональную клавишу F5. В текстовые окна введите исходные данные и нажмите командную кнопку «Пуск». Результат будет размещен в метке. Результаты представлены на рисунке 12.
Рис. 12. Результаты выполнения программного кода
Если поместить результат в текстовое окно (TextBox), а надпись «y=» в метку (Label), то форма будет выглядеть (рис. 13).
Рис. 13. Расположение элементов на форме во втором варианте программы
Программный код для этой формы
Private Sub CommandButton1_Click()
Dim A As Single
Dim B As Single
Dim C As Single
Dim X As Single
Dim Y As Single
A = Val(TxtA.Value)
B = Val(TxtB.Value)
C = Val(TxtC.Value)
X = Val(TxtX.Value)
Y = (X * Sqr(A + B) + Exp(-3 * A)) / (Sin(X ^ 2) + Cos((C + A) ^ 2) ^ 2) _
+ Atn(Abs(X - B)) / (3 * B * (A - B)) + Log(Abs(1 - A ^ (B - C)))
TxtY.Value = Y
End Sub
Результаты выполнения программного кода представлены на рисунке 14.
Рис. 14. Результаты выполнения программного кода
Дата добавления: 2014-12-24; просмотров: 1287;