OpenOffice Basic (ранее известный как StarOffice Basic или StarBasic или OOoBasic ) — диалект языка программирования BASIC , возникший вместе с офисным пакетом StarOffice и распространившийся через OpenOffice.org и производные, такие как Apache OpenOffice и LibreOffice (где он известен как LibreOffice Basic ). Язык является предметно-ориентированным языком программирования , который специально обслуживает пакет приложений OpenOffice.
Хотя OpenOffice Basic похож на другие диалекты BASIC, такие как Visual Basic for Applications (VBA) от Microsoft , интерфейс прикладного программирования (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 "Этот макрос должен быть запущен из текстового документа" , 64 , "Ошибка" 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 ' Отображение результата MsgBox Count , 0 , "Количество абзацев" End Sub