||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (December 2013)|
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 LibreOffice (where it is known as LibreOffice Basic).
Although OpenOffice Basic itself is similar to other dialects of BASIC, such as Microsoft's 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
- Steinberg, James. Open Office Basic: An Introduction. CreateSpace Independent Publishing Platform. ISBN 978-1481270939.
- BASIC Macros
- OpenOffice.org BASIC Programming Guide wiki
- OpenOffice.org VBA emulation model project (still in heavy development)
- Andrew Pitonyak's macro information
- OpenOffice.org API
- OpenOffice.org/StarOffice API Project Page