Function-udtryk

Angiver en subrutine der kan bruges som et udtryk til at fastslĂĄ en returneringstype.

note

Erklæringerne Sub, Function eller Property er ensartede metoder uden nogen skelnen. De modtager parametre ved reference, der lader til gengælg lader dem blive ændret. LibreOffice Basic-fortolkeren accepterer, at deres respektive argumentsyntaks bruges i flæng.


Syntaks:

Diagram over udtrykket Function


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

Parametre:

scope: Funktioners standardrækkevidde er Public. En Private rækkevidde betegner en modul-intern rutine, der ikke er tænkt anvendt fra andre moduler.

name: Navnet på den subrutine, der skal indeholde den værdi, der returneres af funktionen.

arguments: Parametre, der skal overføres til subrutinen.

argumentfragment

argument-fragment


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
Parametre

Optional: Argumentet er ikke obligatorisk.

ByRef: Argumentet overføres ved reference. ByRef er standarden.

ByVal: Argumentet overføres ved værdi. Dets værdi kan ændres af den kaldte rutine.

char: Typeerklærings-tegn.

typename: Primitivt datatypename. Der kan ogsĂĄ angives biblioteker eller moduler, der er defineret som typer.

= expression: Angiv standardværdi til argumentet, der matcher dets erklærede type. Optional er nødvendig for ethvert argument, der angiver en standardværdi.

ParamArray: Brug ParamArray, når antallet af parametre er ubestemt. Et typisk scenarie er en brugerdefineret Calc-funktion. Brug af ParamArray bør begrænses til den sidste parameter i en rutine.

tip

Brug af ParamArray eller = expression kræver, at Option Compatible er placeret foran den eksekverbare programkode i modulet.


warning

Under brug af Option VBASupport 1 initialiseres Optional-argumenter uden nogen standardværdi (= expression) efter deres datatype, undtagen hvis den er Variant.


typenavn-fragment

primitivt datatype-fragment


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

typeerklærings-tegn


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

Eksempler:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 to 10 ' Fyld array med testdata
        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 søger en TextArray:sList() efter en TextEntry:
' Returværdi er elementets indeks eller 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit for ' sItem fundet
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Støt os venligst!