Sub-udtryk

Angiver en subrutine.

note

Udtrykkene Sub eller Function er ligner hinanden som metoder uden skelnen. De modtager parametre ved overførsel, der tillader at de ændres. LibreOffice Basic-kompileren accepterer deres respektive syntaks bliver brugt i flæng.


Syntaks:

diagram over udtrykket Sub


[Private | Public] Sub name[(argument1 [As typename][, argument2[char][,...]])]
    ' udtryk
    [Exit Sub]
    ' udtryk
End Sub

Parametre:

name: Navnet pĂĄ subrutinen.

arguments: Valgfrie parametre, du vil overføre til subrutinen.

argumentfragment

argumen 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 standard.

ByVal: Argumentet overføres ved værdi. Det 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 argumentets standardværdi, 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 typiske scenarie er en brugerdefineret funktion i Calc. Anvendelse af ParamArray bør begrænses til det sidste argument i en rutine.

tip

Anvekdelse af ParamArray eller = expression kræver, at Option Compatible er placeret i et modul foran den programkode, der skal udføres.


warning

Når du bruger Option VBASupport 1, initialiseres Optional-argumenter uden standardværdi (= expression) efter deres datatype, undtagen Variant.


fragment af typename

fragment af primitive datatyper


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
fragment af erklæringstegn

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!