OpenOfficeBasic
OpenOfficeBasic
OpenOfficeBasic es un lenguaje de programación de alto nivel similar a Microsoft VisualBasic for Applications (VBA) pero basado en OpenOffice Basic.
Se accede a OpenOfficeBasic desde alguns aplicaciones de OpenOffice o LibreOffice como: Writer, Calc y Base.
Es utilizado para escribir pequeños programas conocidos como "macros", que sirven por ejemplo para contar palabras en diversos párrafos de un texto .
Es similar a como se programa y opera con las "Macros" de Microsoft VisualBasic
Está escrito en funciones de llamada o subrutinas macros, y en cada macro el desempeño es una tarea diferente, como por ejemplo: contar las palabras de un párrafo.
Es especialmente útil para hacer las tareas repetitivas que no se han integrado en el programa. (es decir, agregarle caraterísticas a la aplicación de LibreOffice)
Como la base de datos de Apache OpenOffice (Base), utiliza los documentos creados en virtud de la aplicación de Writer para informes y formas, se podría decir que OpenOffice Base también puede ser programado con OpenOfficeBasic.
Desarrolladores: Sun Microsystems
Última versión: 3.0.0 (2008)
Sistema operativo: Multiplataforma
Licencia: GNU Lesser General Public License
OpenOfficeBasic puede ser dividido en 4 componentes:
El lenguaje Basic define las construcciones lingüísticas elementales, como las declaraciones de variables, los bucles y las funciones.
La biblioteca de tiempo de ejecución (runtime library): proporciona funciones estándar que no tienen ninguna referencia directa a OpenOffice, como: funciones para edición de números, cadenas de caracteres, fechas y archivos.
El API de OpenOffice (Application Programming Interface): permite el acceso a documentos de OpenOffice y que sean creados, guardados, modificados e impresos.
El editor de diálogo: crea ventanas de diálogo y ofrece la posibilidad de agregar elementos de control y manipulación de evento.
Ejemplo:
REM *BASIC de Open Office*
' una Macro escrita en Basic
sub sub_saludo
v_nombre = inputBox("Dime tu nombre")
msgbox "Hola " + v_nombre
end sub
Sub Main
sub_saludo
End Sub
Otro ejemplo:
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
--------
Links:
Ayuda de LibreOffice: https://help.libreoffice.org/7.5/es/text/sbasic/shared/main0601.html?&DbPAR=SHARED&System=WIN
Guía de Apache OpenOfficeBASIC: https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide
Aprender macros:
Aprender frameworks y kit de desarrollo: