StarOffice Basic - Example

Example

Although StarBasic 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 (see the Talk page (should be moved here)), 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

Read more about this topic:  StarOffice Basic

Famous quotes containing the word example:

    Our intellect is not the most subtle, the most powerful, the most appropriate, instrument for revealing the truth. It is life that, little by little, example by example, permits us to see that what is most important to our heart, or to our mind, is learned not by reasoning but through other agencies. Then it is that the intellect, observing their superiority, abdicates its control to them upon reasoned grounds and agrees to become their collaborator and lackey.
    Marcel Proust (1871–1922)