Although StarBasic itself is similar to other dialects of Basic, such as Microsoft's VBA, the API is very different, as the example below of a macro illustrates.
Sub ParaCount
'
' Count number of paragraphs in a text document
'
Dim Doc As Object, Enum As Object, Count As Long
Doc = ThisComponent
' Is this a text document?
If Not Doc.SupportsService("com.sun.star.text.TextDocument") Then
MsgBox "This macro must be run from a text document", 64, "Error"
Exit Sub
End If
Count=0
' Examine each component - paragraph or table?
Enum=Doc.Text.CreateEnumeration
While Enum.HasMoreElements
TextEl=Enum.NextElement
' Is the component a paragraph?
If TextEl.SupportsService("com.sun.star.text.Paragraph") Then
Count=Count+1
End If
Wend
'Display result
MsgBox Count, 0, "Paragraph Count"
End Sub