Anda di halaman 1dari 12

MACROS EN LIBREOFFICE

1

Prof. Elar Edgar, HANCCO QUISPE
1. Cuadro de dilogo (formulario) para OpenOffice Calc
En este Cmo se hace vamos a mostrar paso a paso como se puede
crear un cuadro de dilogo mediante el editor Basic de OpenOffice para
introducir datos en una hoja de Calc.
Para poder llevar a buen puerto este tutorial, empezaremos por crear un
nuevo documento de Calc, que guardaremos con el nombre Cuadro de
dilogo Calc.
En la primera de sus hojas insertaremos un botn que nos permitir abrir
el cuadro de dilogo. Los datos que introduciremos en l quedarn
almacenados en la Hoja2 del documento.
No se va a crear una aplicacin completa. El objetivo de este tutorial es
introducir al usuario en la creacin y uso de los cuadros de dilogo en
Calc, lo que le permitir construir fcilmente sencillas aplicaciones para
gestionar pequeas o grandes cantidades de datos, ampliando segn lo
aqu aprendido su documento de Calc con ms dilogos, en funcin de
sus necesidades.
2. Insertar un botn en la hoja
Empezaremos insertando un botn en la Hoja1 del documento que
permitir abrir el cuadro de dilogo que, a modo de formulario flotante,
disearemos a continuacin.
Para ello, si no est visible, mostraremos la barra de herramientas
Campos de control de formulario desde el men Ver > Barras de
herramientas.


MACROS EN LIBREOFFICE
2

Prof. Elar Edgar, HANCCO QUISPE
Haremos un clic en esta barra de herramientas sobre el botn Botn. El
cursor del ratn se mostrar como una pequea cruz negra con un
pequeo rectngulo en su extremo inferior derecho.
Sobre el lugar deseado de la hoja de clculo, haremos un clic y arrastrar,
definiendo de esta forma las dimensiones del botn.


Las dimensiones del botn podrn modificarse utilizando sus
manejadores de color verde.


Con el botn seleccionado haremos clic sobre el botn Control de la
barra de herramientas Campos de control de formulario, o bien,
haremos un clic con el botn secundario del ratn sobre el botn, y
desde el men contextual seleccionamos la opcin Campo de control....
Se mostrar el cuadro de dilogo Propiedades: Botn.

En ste, modificaremos el Ttulo escribiendo Abrir el dilogo desde su
pestaa General. De esta forma modificamos el texto que muestra el
MACROS EN LIBREOFFICE
3

Prof. Elar Edgar, HANCCO QUISPE
botn recin insertado. Si lo deseas, puedes modificar otras propiedades
del botn, como por ejemplo, la Fuente utilizada para el texto mostrado,
sus dimensiones mediante las propiedades Ancho y Altura, la
Alineacin horizontal y la Alineacin vertical del texto mostrado, el
Color de fondo del botn, incluso insertar una pequea imagen (en
formato bmp, jpg, png, etc) a modo de icono en el mismo mediante la
propiedad Imagen.


Si quieres conocer ms acerca de otras de las propiedades que puedes
definir para el botn, pulsa la tecla F1 mientras est activado el dilogo.
Por el momento, podemos cerrar este dilogo, al que volveremos ms
tarde.
MACROS EN LIBREOFFICE
4

Prof. Elar Edgar, HANCCO QUISPE
3. Crear el cuadro de dilogo
Accedemos al editor de macros IDE Basic desde el men Herramientas
> Macros > Organizar macros... > OpenOffice.org Basic.

Localizamos el contenedor de macros de nuestro documento. Haciendo
clic en el + que antecede a su nombre, se mostrar la librera Standard,
que por el momento est vaca, y que seleccionamos con un clic sobre
su nombre.


Haciendo un clic sobre el botn Nuevo creamos un nuevo mdulo Basic;
se presentar un dilogo sugiriendo el nombre del nuevo mdulo como
Module1', nombre que aceptamos porque nos es indiferente.


MACROS EN LIBREOFFICE
5

Prof. Elar Edgar, HANCCO QUISPE
Se mostrar el editor IDE Basic. Justo en la parte inferior del mismo, se
muestra una pestaa con el nombre Module1. Haremos clic con el botn
secundario del ratn sobre la pestaa, y del men contextual
seleccionamos la opcin Insertar >Dilogo BASIC.

El editor IDE Basic presentar una nueva pestaa, de nombre Dialog1,
con un pequeo dilogo dibujado en el centro de la misma, y se
mostrar tambin la barra de herramientas flotante Cuadro de
herramientas. Si no se muestra, puedes utilizar la opcin que
encontrars en el men Ver >Barras de herramientas


Haremos un clic con el botn secundario sobre la pestaa del dilogo, y
seleccionamos Renombrar para cambiar su nombre a Dialogo.
MACROS EN LIBREOFFICE
6

Prof. Elar Edgar, HANCCO QUISPE
4. Insertar los controles en el dilogo
Utilizando los botones disponibles en la barra de herramientas Cuadro
de herramientas y siguiendo el mismo mtodo que hemos utilizado para
insertar el botn en la hoja de Calc (clic y arrastrar) insertaremos:
Tres etiquetas utilizando el botn Etiqueta
Tres campos de texto utilizando el botn Campo de texto
Dos botones utilizando el botn Botn
Cambiaremos los textos de las etiquetas y de los botones siguiendo el
mismo mtodo que con el botn insertado en la hoja de Calc (si bien,
para acceder al dilogo de propiedades, el botn ahora se llama
Propiedades, al igual que la opcin del men contextual del control).

Haciendo un clic justo sobre el borde del dilogo podemos editar sus
propiedades; as, asignaremos como Ttulo de nuestro cuadro de
dilogo Agregar contactos; una vez hechos todos estos cambios,
deberemos obtener un resultado similar al mostrado en la siguiente
imagen:


MACROS EN LIBREOFFICE
7

Prof. Elar Edgar, HANCCO QUISPE
Guarda tu trabajo haciendo clic sobre el botn Guardar.
5. El cdigo Basic necesario
Haz clic sobre la etiqueta del mdulo Module1. Teclea o mejor, copia y
pega, el siguiente cdigo sustituyendo el cdigo existente en el mdulo:

Rem ***** BASIC *****

Dim oDialogo As Object


' Abre el dilogo de nombre Dialogo
Sub Mostrar_Dialogo
DialogLibraries.LoadLibrary("Standard")
oDialogo=Createunodialog(DialogLibraries.Standard.Dialogo)
oDialogo.Execute()
End Sub

' Cierra el dilogo
Sub Cerrar_Dialogo
oDialogo.EndExecute()
Msgbox "Gracias por la visita. Vuelve pronto !!!", 64, "Dilogo
en Calc"
End Sub


' Almacena los datos en la siguiente lnea disponible de la Hoja2, y
vaca los datos del formulario
Sub Guardar_Datos
Dim xDato As Variant, nRow As Long

If Msgbox( "Deseas guardar los cambios realizados?", 33,
"Dilogo en Calc" ) = 1 Then

nRow = UltimaFila( 1 )

With oDialogo.Model

xDato = .TextField1.Text

Thiscomponent.Sheets(1).getCellByPosition(0,nRow).SetFormula(
xDato )

xDato = .TextField2.Text

Thiscomponent.Sheets(1).getCellByPosition(1,nRow).SetFormula(
xDato )

xDato = .TextField3.Text

Thiscomponent.Sheets(1).getCellByPosition(2,nRow).SetFormula(
xDato )
MACROS EN LIBREOFFICE
8

Prof. Elar Edgar, HANCCO QUISPE

.TextField1.Text = ""
.TextField2.Text = ""
.TextField3.Text = ""

End With

End If

End Sub


' Calcula cual es la primera lnea disponible en la hoja
Function UltimaFila( nHoja As Integer ) As Long
Dim Hoja As Object, n As Long

Hoja = Thiscomponent.Sheets(nHoja)
n = 0
Do While True
If Hoja.getCellByPosition(0,n).GetFormula = "" Then
Exit Do
End If
n=n+1
Loop
UltimaFila = n
End Function
6. Guarda tu trabajo.
No vamos a explicar que hace cada subrutina; sus nombres son
suficientemente explicativos. Cmo lo hacen, tampoco lo explicamos. No
es el objetivo de este tutorial. Como cualquier cdigo, es susceptible de
ser mejorado. Esperamos tus aportaciones :).
7. Enlazar los controles al cdigo
Nos queda muy poco trabajo por hacer. Vamos a enlazar los controles
del dilogo al cdigo. Haz clic sobre la pestaa del dilogo Dialogo.
Selecciona el primer botn, y muestra la ventana Propiedades. En la
pestaa Acontecimientos haz clic sobre el botn con tres puntos
mostrado al final de la lnea correspondiente al evento Botn del ratn
pulsado.
Se mostrar el dilogo Accin asignada. Haz clic ahora sobre el botn
Macro
MACROS EN LIBREOFFICE
9

Prof. Elar Edgar, HANCCO QUISPE

Se mostrar el dilogo Selector de macro. Selecciona el mdulo
Cuadro de dilogo Calc.ods > Standard > Module1 en la lista
Biblioteca. En la lista Nombre de macro selecciona la macro
Guardar_Datos. Haz clic sobre el botn Aceptar.



El dilogo Accin asignada se muestra ahora as. Haz clic sobre el
botn Aceptar

MACROS EN LIBREOFFICE
10

Prof. Elar Edgar, HANCCO QUISPE


El dilogo Propiedades:CommandButton se muestra como ves en la
imagen.

MACROS EN LIBREOFFICE
11

Prof. Elar Edgar, HANCCO QUISPE
Selecciona el segundo botn, y realiza los mismos pasos para asignar la
macro Cerrar_Dialogo. Cierra la ventana Propiedades y guarda tu
trabajo.
Cierra el editor IDE Basic. Ya hemos terminado con la parte dura. Nos
queda un ltimo detalle.
8. Enlazar el botn de la hoja al dilogo
Ahora enlazaremos el botn que situamos en la hoja de clculo a la
macro que abre el dilogo. Desde la barra de herramientas Campos de
control de formulario activa el Modo diseo si no est activado, y
selecciona con un clic el botn.
Abre el dilogo Propiedades:Botn desde el botn Control de la
misma barra de herramientas. Activa la pestaa Acontecimientos.
Asignaremos por el mismo procedimiento que vimos antes la macro
Mostrar_Dialogo al evento Botn del ratn pulsado.
Guarda tu trabajo.
Desde la barra de herramientas Campos de control de formulario
desactiva el Modo diseo.
Haz un clic sobre el botn. Si has seguido fielmente los pasos, y
nosotros lo hemos explicado correctamente, debers ver el cuadro de
dilogo sobre la hoja de clculo.
MACROS EN LIBREOFFICE
12

Prof. Elar Edgar, HANCCO QUISPE


Prueba a completar los datos y pulsar sobre los botones para comprobar
que funciona. Recuerda que los datos se almacenan en la Hoja2.

Anda mungkin juga menyukai