Programar evento
-
- Mensajes: 2
- Registrado: Dom Feb 28, 2010 2:17 pm
Programar evento
Estoy utilizando OOo 3.1.0 en Windows XP. He hecho programas en Visual Basic de Access y quiero hacerlo ahora en OOo Basic pero no encuentro la forma de programar un evento como por ejemplo "al cargar un formulario" o culquier otro evento de un control. He leído la ayuda proporcionada con el programa pero no he podido lograrlo. Gracias por su ayuda
OpenOffice 3.1.0 en Windows XP
Re: Programar evento
Si ya programaste VB en Access, te bastará una pequeña indicación para encontrar el camino.
Abres el formulario en modo diseño. Click derecho sobre cualquier control, Propiedades. En la pestaña Acontecimientos puedes asignar macros a los distintos eventos.
Click derecho sobre cualquier control, Formulario saca las propiedades del formulario. La misma pestaña Acontecimientos tiene los eventos del formulario.
A diferencia de Access (y choca al principio si vienes de ahí), la macro debe existir antes de asignarla. No puedes elegir un evento, asignarle una macro no existente y escribirla en ese momento.
Para escribir macros en StarBasic ve a Herramientas/Macros/Organizar Macros/OpenOffice.org Basic.
Desde allí, Administrar para crear primero bibliotecas en el documento, luego módulos en las bibliotecas, y finalmente macros (o diálogos) en los módulos.
En tu versión de OOo ya puedes guardar las macros en el mismo documento de Base, cosa que recomiendo. De todos modos, actualiza a 3.2 si tienes la posibilidad (o a 3.1.1 por lo menos).
Una cosa más. No esperes encontrar los mismos eventos que en Base ni que funcionen igual. Ni soñar con un OnClose cancelable para el formulario, por ejemplo.
Ejemplo de macro que va al último registro de una formulario al abrirlo:
Asociar al evento "Al Cargar" del formulario.
Si tienes más dudas, pregunta de nuevo.
Abres el formulario en modo diseño. Click derecho sobre cualquier control, Propiedades. En la pestaña Acontecimientos puedes asignar macros a los distintos eventos.
Click derecho sobre cualquier control, Formulario saca las propiedades del formulario. La misma pestaña Acontecimientos tiene los eventos del formulario.
A diferencia de Access (y choca al principio si vienes de ahí), la macro debe existir antes de asignarla. No puedes elegir un evento, asignarle una macro no existente y escribirla en ese momento.
Para escribir macros en StarBasic ve a Herramientas/Macros/Organizar Macros/OpenOffice.org Basic.
Desde allí, Administrar para crear primero bibliotecas en el documento, luego módulos en las bibliotecas, y finalmente macros (o diálogos) en los módulos.
En tu versión de OOo ya puedes guardar las macros en el mismo documento de Base, cosa que recomiendo. De todos modos, actualiza a 3.2 si tienes la posibilidad (o a 3.1.1 por lo menos).
Una cosa más. No esperes encontrar los mismos eventos que en Base ni que funcionen igual. Ni soñar con un OnClose cancelable para el formulario, por ejemplo.
Ejemplo de macro que va al último registro de una formulario al abrirlo:
Código: Seleccionar todo
Sub sUltimoRegistro(Event As Object)
Dim Form As Object
Form=Event.Source
If Not(Form.IsNew() Or Form.IsAfterLast()) Then Form.Last()
End Sub
Si tienes más dudas, pregunta de nuevo.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
Re: Programar evento
cascabel, ya que Carlos ha abierto el hilo de programar en Base similar a VB con metodos etc. se sabe de algun sitio donde localizar estos, aunque esten en ingles y mientras esperamos el tutorial de Mauricio.
Gracias
Ramon
Gracias
Ramon
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: Programar evento
Casi toda la información que utilizo está en inglés.
En la versión inglesa del foro de la comunidad hay mucho código.
Además, lo que hace diferente a Base del resto de la suite son habas contadas. Básicamente, el acceso a datos.
Este documento de Roberto C. Benítez habla de eso.
http://www.baseprogramming.com/OOBasicDatabaseDev.pdf
El de Mauricio también me fue muy útil. Tiene capítulos sobre formularios, diálogos y eventos.
http://webs.ono.com/valromer/TUTORIALES ... oBasic.pdf
Programación en Star Basic y algo de BBDD en este otro.
http://dlc.sun.com/pdf/817-1826/817-1826.pdf
Guía de programación para StarOffice 8.
http://www.santarosa.k12.fl.us/pdc/down ... _en-US.PDF
El documento de Andrew Pitonyak sobre macros en OpenOffice.org
http://sbrinz.di.unipi.it/MaterialeCors ... wMacro.pdf
OpenOffice.org 3.1 BASIC Guide
http://wiki.services.openoffice.org/w/i ... o3.1.0.pdf
No es de macros, pero sobre HSQL, que es el que utiliza Base en las BBDD incrustadas.
http://hsqldb.org/doc/guide/guide.pdf
Y sobre conversión de código VBA a StarBasic, pero aplicado a Excel y Calc.
http://documentation.openoffice.org/HOW ... icXref.pdf
Nota: Quizás no sean los mejores enlaces para descargar los documentos. Sólo puse en el buscador el nombre del archivo y copié el primer enlace que funcionaba. Es que ya no recuerdo de dónde obtuve cada uno.
En la versión inglesa del foro de la comunidad hay mucho código.
Además, lo que hace diferente a Base del resto de la suite son habas contadas. Básicamente, el acceso a datos.
Este documento de Roberto C. Benítez habla de eso.
http://www.baseprogramming.com/OOBasicDatabaseDev.pdf
El de Mauricio también me fue muy útil. Tiene capítulos sobre formularios, diálogos y eventos.
http://webs.ono.com/valromer/TUTORIALES ... oBasic.pdf
Programación en Star Basic y algo de BBDD en este otro.
http://dlc.sun.com/pdf/817-1826/817-1826.pdf
Guía de programación para StarOffice 8.
http://www.santarosa.k12.fl.us/pdc/down ... _en-US.PDF
El documento de Andrew Pitonyak sobre macros en OpenOffice.org
http://sbrinz.di.unipi.it/MaterialeCors ... wMacro.pdf
OpenOffice.org 3.1 BASIC Guide
http://wiki.services.openoffice.org/w/i ... o3.1.0.pdf
No es de macros, pero sobre HSQL, que es el que utiliza Base en las BBDD incrustadas.
http://hsqldb.org/doc/guide/guide.pdf
Y sobre conversión de código VBA a StarBasic, pero aplicado a Excel y Calc.
http://documentation.openoffice.org/HOW ... icXref.pdf
Nota: Quizás no sean los mejores enlaces para descargar los documentos. Sólo puse en el buscador el nombre del archivo y copié el primer enlace que funcionaba. Es que ya no recuerdo de dónde obtuve cada uno.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
-
- Mensajes: 2
- Registrado: Dom Feb 28, 2010 2:17 pm
Re: Programar evento
Oye Cascabel. Creo que eres muy bueno en esto. Te agradezco mucho tu ayuda.
Aunque aún no la he puesto en práctica sé que me va a ser muy útil, junto con la respuesta que le das a Ramón. Ya les contaré en el foro cómo me fue.
De nuevo muchas gracias
Aunque aún no la he puesto en práctica sé que me va a ser muy útil, junto con la respuesta que le das a Ramón. Ya les contaré en el foro cómo me fue.
De nuevo muchas gracias
OpenOffice 3.1.0 en Windows XP
Re: Programar evento
Cascabel de entrada, muchas gracias. Voy a empezar a visitar estos enlaces y procurarme de toda la informacion que pueda entender.
Saludos
Ramon
Saludos
Ramon
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)