Main Page | See live article | Alphabetical index

StarOffice Basic

StarOffice Basic (also known as StarBasic) is a dialect of Basic that is included with the OpenOffice and StarOffice suites of office software. It supports Unicode.

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

External links