Instruction Function

DĂ©finit une sous-routine pouvant ĂȘtre utilisĂ©e en tant qu'expression pour dĂ©terminer un type de retour.

note

Les instructions Sub, Function ou Property sont des mĂ©thodes similaires, sans distinction. Elles reçoivent des paramĂštres par rĂ©fĂ©rence leur permettant d'ĂȘtre modifiĂ©s. Le compilateur LibreOffice Basic accepte que leur syntaxe respective soit utilisĂ©e de maniĂšre interchangeable.


Syntaxe :

Diagramme de l'instruction Function


  [Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
          Instructions
      [Exit Function]
          instructions
  End Function

ParamĂštres :

portĂ©e: La portĂ©e de l’instruction Function est Public pardĂ©faut. Une portĂ©e Private dĂ©signe une routine interne de module, non destinĂ©e Ă  ĂȘtre utilisĂ©e Ă  partir d'autres modules.

nom: Nom du sous-programme devant contenir la valeur renvoyée par la fonction.

arguments: ParamĂštres Ă  transmettre au sous-programme.

fragment d'argument

fragment d'argument


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
ParamĂštres

Optional : l'argument n'est pas obligatoire.

ByRef: l'argument est passé par référence. ByRef est par défaut.

ByVal: l'argument est passĂ© par valeur. Sa valeur peut ĂȘtre modifiĂ©e par la routine appelĂ©e.

char: caractÚre de déclaration Type

typename: nom du type de donnĂ©es primitif. Les types dĂ©finis par la bibliothĂšque ou le module peuvent Ă©galement ĂȘtre spĂ©cifiĂ©s.

=expression: spécifiez une valeur par défaut pour l'argument, correspondant à son type déclaré. Optional est nécessaire pour chaque argument spécifiant une valeur par défaut.

ParamArray: utilisez ParamArray quand le nombre de paramĂštres est indĂ©terminĂ©. Un scĂ©nario typique est celui d'une fonction dĂ©finie par l'utilisateur Calc. L'utilisation de ParamArray doit ĂȘtre limitĂ©e au dernier argument d'une routine.

tip

L'utilisation de ParamArray ou = expression nécessite que Option Compatible soit placé avant le code du programme exécutable dans un module.


warning

Lors de l'utilisation de Option VBASupport 1, les arguments Optional sans valeur par défaut (=expression) sont initialisés en fonction de leur type de données, sauf utilisation de Variant.


fragment typename

fragment de types de données primitives


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
fragment char

caractÚres de déclaration de type


      { % | & | ! | # | $ | @ }
    

Exemples :


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 To 10 ' Remplir la matrice avec les données de test
        sListArray(siStep) = chr$(siStep + 65)
        MsgBox sListArray(siStep)
    Next siStep
    sReturn = LinSearch(sListArray(), "B")
    Print sReturn
End Sub
 
Function LinSearch( sList(), sItem As String ) As Integer
Dim iCount As Integer
' Linsearch recherche une TextEntry dans TextArray:sList() :
' La valeur retournée est l'index de l'entrée Or 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' sItem trouvé
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Aidez-nous !