Основи офісного программування. Проектування додатку з розгалуженням: Методичні вказівки до лабораторного заняття № 2, страница 2

1. Перейдіть до редактора VBA (Alt + F11).


2.  Відкрийте форму (Insert ►UserForm) та додайте до неї чотири елемента Label, два елемента TextBox та один елемент CommandButton (Рис.2). Встановіть властивості елементів: Label1: Caption – План, Font: Times New Roman Cyr, напівжирний, 14 пт. Label2: Caption – Фактично,Font -Times New Roman Cyr, напівжирний, 14 пт. Label3: Name – Виконання, Caption – Порожньо, Font -Times New Roman Cyr, напівжирний, 14 пт. Label4: Name – Відсоток, Caption – Порожньо, Font -Times New Roman Cyr, напівжирний. 14 пт. TextBox1: Name – ПЛАН, Font -Times New Roman Cyr, напівжирний, 14 пт, Text – Порожньо. TextBox2: Name – ФАКТ, Font -Times New Roman Cyr, напівжирний, 14 пт, Text – Порожньо. CommandButton: Caption – Обчислити.Form: Caption – Програма обчислення відсотка виконання плану, Name – Програма.

Рисунок 2. Інтерфейс додатку рішення задачі

Завдання 4. Складання програми рішення задачі, запуск її в роботу та отримання результатів


1. Клацніть двічі по кнопці CommandButtonта введіть до процедури обробки події клацання кнопки код рішення задачі (Рис.3). В програмі використовується функція Str() яка повертає числовий аргумент на рядок та Val(x)перетворює текстовий рядок числових символів на число. Функція MsgBox призначена для виводу повідомлень у вигляді числового або символьного результату у діалоговому вікні MsgBoxз ім’ям додатку який створював користувач. Після введення коду запустіть програму в роботу, уведіть вихідні дані до задачі та отримайте результат.

Рисунок 3.  Код рішення задачі

Програма в OpenOffice

REM  *****  BASIC  *****

PUBLIC oDialog2 as Object

Sub Main

DialogLibraries.LoadLibrary("Standard")

oDialog2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)

oDialog2.Execute()

oDialog2.Dispose()

End Sub

Sub ClickButton1

Const sText1 = "Не задано план."

Const sText2 = "Помилка."

Const sText3 = "Вікно повідомлення"

Dim Vidsotok_vikonanij as Single

Dim oTextField1,oTextField2,oLabel1,labeld2 as Object

oTextField1=oDialog2.getControl("TextField1")

oTextField2=oDialog2.getControl("TextField2")

oLabel1=oDialog2.getControl("Label1")

oLabel2=oDialog2.getControl("Label2")

If Val(oTextField1.Text)= 0 Then

MsgBox(sText1 + Chr(13) + sText2,,sText3)

End If

Vidsotok_vikonanij=Val(oTextField2.Text)/Val(oTextField1.Text)*100

If Vidsotok_vikonanij>100 Then

oLabel1.Text="План перевиконано на"

oLabel2.Text=Str(Vidsotok_vikonanij-100)+ "%"

Else

if Vidsotok_vikonanij<100 Then

oLabel1.Text="План недовиконано на"

oLabel2.Text =Str(100-Vidsotok_vikonanij)+ "%"

Else

oLabel1.Text="      План виконано на"

oLabel2.Text="100%"

End If

End If

End Sub

REM  *****  BASIC  *****

PUBLIC oDialog2 as Object

Sub Main

DialogLibraries.LoadLibrary("Standard")

oDialog2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)

oDialog2.Execute()

oDialog2.Dispose()

End Sub

Sub ClickButton1

Const sText1 = "Не задано план."

Const sText2 = "Помилка."

Const sText3 = "Вікно повідомлення"

Dim Vidsotok_vikonanij as Single

Dim oTextField1,oTextField2,oLabel3,labeld4 as Object

oTextField1=oDialog2.getControl("TextField1")

oTextField2=oDialog2.getControl("TextField2")

oLabel3=oDialog2.getControl("Label3")

oLabel4=oDialog2.getControl("Label4")

If Val(oTextField1.Text)= 0 Then

MsgBox(sText1 + Chr(13) + sText2,,sText3)

End If

Vidsotok_vikonanij=Val(oTextField2.Text)/Val(oTextField1.Text)*100

If Vidsotok_vikonanij>100 Then

oLabel3.Text="План перевиконано на"

oLabel4.Text=Str(Vidsotok_vikonanij-100)+ "%"

Else

if Vidsotok_vikonanij<100 Then

oLabel3.Text="План недовиконано на"

oLabel4.Text =Str(100-Vidsotok_vikonanij)+ "%"

Else

oLabel3.Text="      План виконано на"

oLabel4.Text="100%"

End If

End If

End Sub

REM  *****  BASIC  *****

PUBLIC oDialog2 as Object

Sub Main

DialogLibraries.LoadLibrary("Standard")

oDialog2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)

oDialog2.Execute()

oDialog2.Dispose()

End Sub

Sub ClickButton1

Const sText1 = "Не задано план."

Const sText2 = "Помилка."

Const sText3 = "Вікно повідомлення"

Dim Vidsotok_vikonanij as Single