
Introducción a la
programación en
OpenOffice.org Basic Fermí Vilà
1.- Nuestro primer programa
El “OpenOffice Basic” es un lenguaje de programación completo (es una versión de BASIC), que nos permite crear aplicaciones visuales interactivas y completas por medio de nuestro “OpenOffice”.
– Ejecuta el OpenOffice Calc – Asegúrate que el nivel de seguridad está bajo. Es decir: Menú Herramientas Opciones… OpenOffice.org: Seguridad [Seguridad de Macros…] Bajo (no recomendado) …. [Aceptar] [Aceptar] – Graba el libro de cálculo (que de momento está vacío) como Macro01 en TuCarpeta
– Menú Herramientas Macros Organizar macros OpenOffice.org Basic … • • Haz clic en [Editar] Acabamos de acceder al Module1 de nuestro fichero Macro01, observa la pestaña del ángulo inferior izquierdo:
Es el lugar donde escribiremos nuestros programas en OpenOffice Basic. Observa que de hecho nos encontramos en una ventana separada del Macro01.ods: – Borra todo lo que aparece en el Editor del Basic, exceptuando:
Todas las líneas, precedidas por “REM” representan “comentarios” para el programador. Es decir a efectos de “programa” tanto da dejar la línea como ponerla.
– Escribe en el Editor del Basic, el siguiente programa: – Clic en el icono “Guardar” y cierra la ventana correspondiente al editor de OooBasic (Mis macros y diálogos.Standard – OpenOffice.org Basic)
– Vamos a ejecutar nuestro programa: • Menú Herramientas Macros • • • • Ejecutar macro … Clic en [+] de “Mis macros” Clic en [+] de “Standard” de Mis macros Clic en “Module 1” [Ejecutar] Si todo funciona correctamente, en la celda D9 de nuestra hoja de cálculo, aparece la frase Hola Mundo
Sitúate en el Editor del Basic para visualizar el programa, es decir: Menú Herramientas Macros Organizar macros OpenOffice.org Basic … [Editar]
1º) Básicamente existen dos tipos de “programas”: procedimientos o funciones. Nuestro programa es un procedimiento porque empieza por Sub y acaba por End Sub
2º) Observa la estructura de un procedimiento (llamado también subprocedimiento): Sub NombreDelPrograma Sentencia 1 Sentencia 2 Sentencia 3 … … End Sub
3º) Las primeras líneas de un programa se usan normalmente para declarar los elementos que utilizaremos en el programa. Para ello, en el BASIC, se utiliza la cláusula Dim: Dim Hoj As Object Dim Cel As Object Declaramos dos objetos (nuestro BASIC, permite la POO: programación orientada a objetos), que serán, el primero una hoja de cálculo y el segundo una celda.
4º) Hoj = ThisComponent.Sheets(0) Definimos el objeto “Hoj” como nuestro documento (ThisComponent = este componente), concretamente la Hoja 1 (Sheets(0) = Hoja 1). Se empieza a contar por 0, igual que en las coordenadas que vemos a continuación.
5º) Cel = Hoj.getCellByPosition(3,8) Definimos el objeto “Cel” como la celda de la Hoja de cálculo (Hoj) de coordenadas (3,8). Coordenadas de una celda = (X , Y) 1ª coordenada: X , número de columna = x + 1 2ª coordenada: Y , número de fila = y + 1 Es decir: Número de columna = 3 + 1 = 4, por lo tanto: A, B, C, D Número de fila: 8 + 1 = 9, por lo tanto fila 9 En definitiva, se trata de la ceda : D9
6º) Cel.SetFormula(“Hola Mundo”) En el objeto Cel, construido anteriormente, escribe el texto (SetFormula), que tenemos entre comillas y paréntesis.
2.- Botones
La forma de ejecutar el programa: Menú Herramientas Macros Ejecutar macro… Seleccionar el programa y [Ejecutar] es bastante laborioso; veamos otra forma de hacerlo, pero antes …
– Sitúate en el “Editor del Basic” del Macro01 y escribe (a continuación del Prog01):
– Sitúate en la Hoja 1 del Macro01.ods • Graba el libro de cálculo: clic en “Guardar” • Ejecuta el programa Prog02. Es decir: • Menú Herramientas Macros Ejecutar macro … Selecciona el Prog02 (en Mis macros – Standard – Module 1) y [Ejecutar] Si todo funciona correctamente, en la Hoja2, celda B2 tenemos la frase Hola Mundo
Si comparas nuestro programa Prog02 con el anterior, aparte de la hoja, ahora estamos en la Sheets(1). La sintaxis corresponde a la POO: el operador punto para separar los diferentes objetos hasta llegar a un último objeto, que no es más que una propiedad o un método (acción). Es decir, en nuestro caso: Objeto1.SubObjetoA.SubObjetoB.Método Objeto1 = ThisComponent (este componente, en nuestro caso un libro de cálculo) SubObjetoA = Sheets(1) (la hoja 2 del libro anterior) SubObjetoB = getCellByPosition(1,1) (la celda B2 del objeto anterior) Método = SetFormula(“Hola Mundo”) (acción = escribe en el objeto anterior, “Hola Mundo”)
– Borra el “Hola Mundo” de la Hoja2 y sitúate en la Hoja1
Vamos a ejecutar nuestro Prog02, utilizando un botón … – Necesitamos la barra de iconos Campos de control de formulario, en caso de no estar presente Haz lo siguiente:
•
• Menú Ver Barras de Herramientas … Clic en “Campos de control de formulario” – Clic en el botón: de la nueva barra. Según la versión de OpenOffice, la imagen del botón puede ser diferente.
– Marca un recuadro que abarque la celda B2 (estamos en la Hoja1) aproximadamente:
– Con el botón que acabamos de crear seleccionado, accede a su menú contextual. • Selecciona la opción: Campo de Control… • Solapa: General Propiedad Título: borra “Botón” y escribe en su lugar Prog02 •
Página siguiente |