Visual Basic for Applications. Практика. Нагина Е.К - 7 стр.

UptoLike

Составители: 

7
В рассмотренном примере с функцией Doxod вызов функции проис-
ходит из ячейки рабочего листа Excel. Кроме этого способа обращаться к
функции можно и из процедуры. Рассмотрим такой вариант вызова функ-
ции в примере организации модуля для вычисления площадей геометриче-
ских фигур.
Option Explicit
Option Base 1
Const PI As Double = 3,1416
‘ PI – глобальная постоянная
‘ Priz, A, B, R – глобальные переменные
Dim Priz As Integer
Dim A As Double, B As Double, R As Double
Function Figura (a1 As Double, b1 As Double) _
As Double
‘ Figura Вычисляет площадь прямоугольника
Figura = a1 * b1
Priz = 1
End Function
Function Crug (r1 As Double) As Double
‘ Crug вычисляет площадь круга
Crug = PI * r1 ^ 2
Priz = 2
End Function
Sub Rezalt ()
Dim PlFig As Double, PlCr As Double
‘ PlFig, PlCr – локальные переменные
R = InputBox (“Введите значение радиуса круга”)
PlCr = Crug (R)
A = InputBox (“Введите ширину прямоугольника”)
B = InputBox (“Введите высоту прямоугольника”)
PlFig = Figura (A, B)
If Priz = 1 Then
MsgBox “Площадь прямоугольнака =” & CStr(PlFig)
Else
MsgBox “Площадь круга = ” & CStr(PlCr)
End If
End Sub
      В рассмотренном примере с функцией Doxod вызов функции проис-
ходит из ячейки рабочего листа Excel. Кроме этого способа обращаться к
функции можно и из процедуры. Рассмотрим такой вариант вызова функ-
ции в примере организации модуля для вычисления площадей геометриче-
ских фигур.

Option Explicit
Option Base 1
Const PI As Double = 3,1416
‘ PI – глобальная постоянная
‘ Priz, A, B, R – глобальные переменные
Dim Priz As Integer
Dim A As Double, B As Double, R As Double

Function Figura (a1 As Double, b1 As Double) _
   As Double
   ‘ Figura Вычисляет площадь прямоугольника
   Figura = a1 * b1
   Priz = 1
End Function

Function Crug (r1 As Double) As Double
   ‘ Crug вычисляет площадь круга
   Crug = PI * r1 ^ 2
   Priz = 2
End Function

Sub Rezalt ()
   Dim PlFig As Double, PlCr As Double
   ‘ PlFig, PlCr – локальные переменные
   R = InputBox (“Введите значение радиуса круга”)
   PlCr = Crug (R)
   A = InputBox (“Введите ширину прямоугольника”)
   B = InputBox (“Введите высоту прямоугольника”)
   PlFig = Figura (A, B)
   If Priz = 1 Then
   MsgBox “Площадь прямоугольнака =” & CStr(PlFig)
   Else
   MsgBox “Площадь круга = ” & CStr(PlCr)
   End If
End Sub



                                  7