Більшість об'єктів, які створені, вже «знають», як працювати після запуску програми, і готові до прийому даних від користувача. Внутрішня функціональність створюваних об'єктів - одна з найпотужніших особливостей VBA.
У розробляється програмі необхідний код, який буде обчислювати значення виразу за певною формулою за допомогою вводяться користувачем чисел і відображати результат обчислень.
Обчислювальна логіка може бути вбудована в додаток тільки за допомогою програмного коду, який точно визначає, що саме повинна робити програма на кожному етапі роботи. Програма управляється кнопками <Вычислить> і
Для роботи з програмним кодом командної кнопки потрібно двічі по ній клацнути мишею. Наприклад, клацнемо по кнопці
Малюнок 30 - Вид вікна «Код»
Блок коду, пов'язаний з приватним об'єктом інтерфейсу, називається процедурою події VBA. Тіло процедури укладено між операторами, що вказують на початок і кінець підпрограми.
Private Sub CommandButton2_Click ()
Оператори тіла і процедури виконуються кожного разу, коли користувач активізує елемент інтерфейсу, асоційований з процедурою. В даному випадку подією є клацання миші (Click), але можуть бути і події іншого типу. (Їх можна побачити в випадаючому списку, клацнувши по стрілці праворуч написи Click).
Розробимо програмний код для кнопок <Вычислить> і
1 Відкрити список об'єктів у вікні «Code». Всі об'єкти інтерфейсу Обчислити з'являться в списку, як показано на малюнку 31.
Малюнок 31 - Вид списку об'єктів
2 Клацнути по рядку CommandButton1 в списку. З'явиться «порожня» процедура, пов'язана з кнопкою
Незважаючи на те, що назва кнопки було змінено на <Вычислить>, в програмі її ім'я залишилося колишнім.
Слід мати на увазі, що у кожного об'єкта інтерфейсу може бути кілька асоційованих з ним процедур - по одній для кожного пов'язаного з цим об'єктом події. В даному випадку для кнопки
3 Набрати наступні програмні рядки:
Private Sub CommandButton1_Click ()
Dim A, B, X, z1, z2, z3 As Single
z1 = Abs (Log (X) / Log (10)) - Sqr (Abs (Cos (X) - Exp (X)))
z2 = Abs (Tan (Abs (A * X - B)) / Sin (Abs (X)) + B)
z3 = Atn (z2 / Sqr (Abs (1 - z2 ^ 2)))
Label1.Caption = Log (Abs (z1 * z3))
Примітка. Функція Val перетворює текстовий аргумент в числове значення (за замовчуванням дані, введені в текстове поле, представляються як звичайний текст).
4 Двічі клацнути мишею по командній кнопці
5 Набрати програмну рядок процедури, пов'язаної з кнопкою
Малюнок 32 - Програмний код, пов'язаний з командної кнопкою 1 і 2