Шаг 135.
VBA в MSExcel.
Основы программирования на VBA. Вызов процедуры

    На этом шаге мы рассмотрим различные способы вызова процедур.

    Вызов процедуры Sub из другой процедуры можно произвести несколькими способами.

    Первый способ вызова процедуры Sub:

  ИмяПроцедуры СписокФактическихПараметров
где

    Если требуется использовать несколько процедур с одинаковыми названиями, при их вызове после имени процедуры через точку надо указывать имя модуля, на котором они расположены. А именно,

  ИмяМодуля.ИмяПроцедуры СписокФактическихПараметров

    Второй способ вызова процедуры Sub производится с помощью инструкции Call.

  Call ИмяПроцедуры (СписокФактическихПараметров)

    Обратите внимание, что в этом случае список фактических параметров заключается в скобки. В первом способе скобки не использовались.

    VBA позволяет вводить фактические параметры через имена аргументов в любом порядке и опускать необязательные (Optional). При этом после имени аргумента ставятся двоеточие и знак равенства, после которого помещается значение аргумента (фактический параметр).

    Приведенный ниже пример показывает основные способы передачи параметров в процедуры.

  Dim с As Double
  ' с - глобальный параметр

  Function F(ByVal x As Integer) As Integer
    F = x ^ 2
  End Function
  Sub Assistant(ByVal a As Integer, ByVal b As Integer)
    ' Процедура, находящая сумму двух чисел и выводящая
    ' результат в диалоговом окне
    c = а + b
    MsgBox CStr(c)
  End Sub
  Sub Main()
    ' Процедура, находящая сумму двух чисел и выводящая
    ' результат в диалоговом окне
    Dim x, у As Double
    ' x, у — переменные, используемые в качестве фактических параметров

    ' Вызов процедуры с конкретными числами как фактическими параметрами
    Assistant 1, 3
  
    ' Первоначальное присвоение переменным значений,
    ' с последующим вызовом процедуры
    х = 1: у = 1
    Assistant x, у + 2

    ' Использование функции как фактического параметра
    х = 1: у = 3
    Assistant F(x), у

    ' Вызов процедуры с указанием фактических параметров по имени
    Assistant a:=1, b:=3
  End Sub
Текст этого примера можно взять здесь.

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг