Guida di LibreOffice 25.2
Una funzione è un blocco di codice che viene eseguito quando richiamato. Una funzione di solito è richiamata da un'espressione.
È possibile passare dati, noti come parametri o argomenti, a una funzione. È possibile passare un parametro per valore o per riferimento. Quando si tratta di un riferimento, le modifiche applicate al parametro nella funzione saranno inviate al codice che l'ha richiamata.
Una funzione di solito restituisce dei dati come risultato.
  
  [Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
          istruzioni
      [Exit Function]
          istruzioni
  End Function
scope: la visibilità predefinita di una funzione è Public (pubblico). Una visibilità Private (privata) caratterizza una routine interna, pensata per non essere utilizzata da altri moduli.
name (nome): nome della subroutine che dovrà contenere il valore restituito dalla funzione.
arguments: parametri da passare alla subroutine.
Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siPasso = 0 to 10 ' Popola la matrice con dati di prova
        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 ricerca un TextArray:sList() per una TextEntry:
' Il valore restituito è l'indice della voce o 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' sVoce trovato
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function