LibreOffice 7.1 Hjælp
Angiver en subrutine.
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.
[Private | Public] Sub name[(argument1 [As typename][, argument2[char][,...]])]
' udtryk
[Exit Sub]
' udtryk
End Sub
name: Navn på subrutinen.
arguments: Valgfrie parametre, du vil overføre til subrutinen.
{[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
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.
Anvekdelse af ParamArray eller = expression kræver, at Option Compatible er placeret i et modul foran den programkode, der skal udføres.
Når du bruger Option VBASupport 1, initialiseres Optional-argumenter uden standardværdi (= expression) efter deres datatype, undtagen Variant.
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