RunEx մեթոդ

См. также Օրինակ Применяется к

Կանչում է փաստաթղթի նկարագրության մեջ առկա սկրիպտային ֆունկցիան, ինչպես նաև վերադարձնում է ByRef պարամետրերը։
Այս մեթոդի միջոցով չի թույլատրվում կանչել փաստաթղթի ստանդարտ իրադարձությունների մշակիչները։ Մեթոդը կարող է վերադարձնել թե օբյեկտ, թե պարզ արժեք։

Շարահյուսություն

object.RunEx(SubName, ParArray())

Բաղադրիչներն են՝

Պարամետր Նկարագրություն
object Փաստաթուղթ օբյեկտի հղում։
SubName Ֆունկցիայի անուն։
ParArray() ֆունկցիային փոխանցվող պարամետրերի մասիվ։

Նկատառումներ

  • ByRef-ով պարամետրերը վերադարձնելու համար փոխանցվող փոփոխականի տիպը պետք է համընկնի ֆունկցիայի պարամետրի տիպի հետ կամ ֆունկցիայի պարամետրի տիպը լինի Variant:
' Փաստաթղթի մարմնում առկա ֆունկցիաներ
Sub SomeMethod1(ByRef param01 As Integer)
    param01 = 10
End Sub
Sub SomeMethod2(ByRef param01 As Long)
    param01 = 20
End Sub
Sub SomeMethod3(ByRef param01 As Variant)
    param01 = 30
End Sub

'''
'Այլ տեղում
Dim var1 As Long
Dim xDoc As AsDoc
Set xDoc= CreateDoc("DocName")
xDoc.RunEx("SomeMethod1", var1)  'Այս դեպքում արժեքը չի փոխվի, քանի var1-ի տիպը չի համապատասխանում param01-ի տիպին
xDoc.RunEx("SomeMethod2", var1)  'var1-ի արժեքը կդառնա 20
xDoc.RunEx("SomeMethod3", var1)  'var1-ի արժեքը կդառնա 30
  • Թույլատրվում է չփոխանցել ֆունկցիայի վերջից ոչ պարտադիր(Optional) պարամետրերը։
' Փաստաթղթի մարմնում առկա ֆունկցիա
Sub SomeMethod1(ByVal param1 As Long, Optional ByVal param2 As Long, Optional ByVal param3 As Long)

End Sub


''' Կանչեր այլ տեղից
myDoc.RunEx("SomeMethod1", 10)           ' կաշխատի
myDoc.RunEx("SomeMethod1", 10, 20)       ' կաշխատի
myDoc.RunEx("SomeMethod1", 10, , 30)     ' սխալ կառաջացնի