OpenOffice Basic

Programming language

OpenOffice Basic (formerly known as StarOffice Basic or StarBasic or OOoBasic) is a dialect of the programming language BASIC that originated with the StarOffice office suite and spread through OpenOffice.org and derivatives such as Apache OpenOffice and LibreOffice (where it is known as LibreOffice Basic). The language is a domain-specific programming language which specifically serves the OpenOffice application suite.

Example

Although OpenOffice Basic is similar to other dialects of BASIC, such as Microsoft's Visual Basic for Applications (VBA), the application programming interface (API) is very different, as the example below of a macro illustrates. While there is a much easier way to obtain the "paragraph count" document property, the example shows the fundamental methods for accessing each paragraph in a text document, sequentially.

Sub ParaCount
'
' Count number of paragraphs in a text document
'
    Dim Doc As Object, Enum As Object, TextEl 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

See also

Further reading

  • Steinberg, James (2012). Open Office Basic: An Introduction. CreateSpace Independent Publishing Platform. ISBN 978-1481270939.

External links

  • OpenOffice.org BASIC Programming Guide wiki
  • LibreOffice Basic Help
  • Automating Open Office in VB.NET
  • v
  • t
  • e
OpenOffice.org
  • Timeline of StarOffice-descended software
Active derivatives
  • Apache OpenOffice
  • Collabora Online
  • LibreOffice
Discontinued and
merged derivatives
TechnologiesCompanies
  • Category
  • Commons
  • v
  • t
  • e
Dialects of the BASIC programming language (list)
Classic
Microsoft
Texas Instruments
Hewlett-Packard
Locomotive Software
Microcomputers
Minicomputers
Time-sharing computers
Other
Extenders
Procedure-
oriented
Proprietary
Free and
open source
With object
extensions
Proprietary
Free and
open source
RAD
designers
Proprietary
Free and
open source
Defunct