OpenOffice Basic

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

OpenOffice Basic (ранее известный как StarOffice Basic или StarBasic или OOoBasic) — это диалект языка программирования BASIC, впервые появившийся в офисном пакете StarOffice и получивший распространение с пакетом OpenOffice.org, а также с производными от него, такими как LibreOffice (в котором он известен как LibreOffice Basic).

Пример[править | править код]

Хотя OpenOffice Basic сам по себе похож на другие диалекты BASIC, такие как Microsoft VBA, его API сильно отличается, как показано в примере макроса ниже. В то время как есть гораздо более простой способ получить свойство документа «счётчик абзацев», в примере показан основные последовательный метод доступа к каждому абзацу текстового документа.

Sub ParaCount
'
' Подсчитать количество абзацев в текстовом документе
'
    Dim Doc As Object, Enum As Object, TextEl As Object, Count As Long
    Doc = ThisComponent
' Это текстовый документ?
    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
' Проверить каждый компонент: абзац или таблица?
    Enum = Doc.Text.CreateEnumeration
    While Enum.HasMoreElements
        TextEl = Enum.NextElement
' Является ли компонент абзацем?
        If TextEl.SupportsService("com.sun.star.text.Paragraph") Then
            Count = Count + 1
        End If
    Wend
'Display result
    MsgBox Count, 0, "Paragraph Count"
End Sub

Ссылки[править | править код]

BASIC Macros
OpenOffice.org API