OOo Basic-Eventos

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

OOo Basic-Eventos

Mensaje por hans00700 »

Buenas.
Como parte de mi estudio autodidacta de programación estoy inciando con OOo Basic usando el manual de Mauricio Baeza Servín, mi consulta es:
Cuando tengo mis macros preparadas y para ejecutarlas las asigno a eventos de LibreOffice u OpenOffice.
¿Dónde se guarda el archivo con las asignaciones de los eventos? por si deseo llevar a otra computadora y que alli funcion como en la primera.
Gracias por su tiempo :super:
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
RMG
Mensajes: 3885
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: OOo Basic-Eventos

Mensaje por RMG »

Hola,

Para poder utilizar tus macros en cualquier documento de AOO, las debes almacenar en "Mis macros".

Saludos
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)
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

No sé si habré entendido bien, normalmente:
Todos los archivos que tengan eventos de macros dirigidas a una macro de "Mis macros" funcionaran en la misma computadora en donde fueron creados pero no en otra.
Todos los archivos que tengan eventos de macros dentro del mismo archivo funcionarán en cualquier computadora.

Es lo que deseas saber?

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

RMG se apresuró al responder si haber entendido bien mi consulta, pero gracias de todos modos.

Fornela:
*Un archivo en que lleva macros, las macros funcionara en cualquier computadora pues dentro están las macros.
*Un archivo que usa macros guardadas en "MIS MACROS", solo funcionará, si yo llevo la carpeta MIS MACROS a cualquier otra computadora.
Hasta allí todo bien.
La idea es:
tengo la macro "Uno" guardada en archivo "pruebitas", y la macro "Dos", dentro de MIS MACROS. Ahora, en "pruebitas", creo el evento que hace que cada vez que guarde el archivo se ejecute la macro "Uno" y luego la macro "Dos".
Ahora, si yo llevara el archivo pruebitas a la computadora del vecino (entendemos que dentro está "Uno")
Al guardar el archivo en la computadora del vecino ¿se ejecutará el evento con la macro "Uno"?
Luego, además de llevar "pruebitas" también llevo MIS MACROS a la computadora del vecino
Al guardar el archivo en la computadora del vecino ¿se ejecutaran los eventos de las macros "Uno" y "Dos"?
Si la respuesta es no, entonces, ¿dónde se almacenan los eventos? (las macros ya sabemos dónde)
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

hans00700 escribió:Ahora, si yo llevara el archivo pruebitas a la computadora del vecino (entendemos que dentro está "Uno")
Al guardar el archivo en la computadora del vecino ¿se ejecutará el evento con la macro "Uno"?
Así es en efecto.
Luego, además de llevar "pruebitas" también llevo MIS MACROS a la computadora del vecino
Al guardar el archivo en la computadora del vecino ¿se ejecutaran los eventos de las macros "Uno" y "Dos"?
Así es en efecto.

La respuesta es si.

Pero si hubiera en la macro una ruta o carpeta de guardado que no está en la PC del vecino, obvio la macro dará error

Saludos, Federico.
Última edición por fornelasa el Lun Oct 17, 2016 8:57 pm, editado 1 vez en total.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
xiseme
Mensajes: 1918
Registrado: Lun Nov 24, 2008 1:13 pm

Re: OOo Basic-Eventos

Mensaje por xiseme »

Enseguida fornelasa dará ha dado buena explicación. Mientras tanto ... no me resisto ... :mrgreen: :oops:
Los eventos no se crean, ni se destruyen; solamente "se producen". Al detectarlos --> disparamos ejecutamos tal o cual macro.
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco.
Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

A ver, digamos que soy yo el que no se deja entender.
Otro ejemplo
tengo la macro "LaEdadDelGato" guardada en el archivo "mascotas.ods"
Para acceder a esa macro cree el evento que al presionar la tecla F5 se ejecute la macro mencionada.
Ahora creo un correo y adjunto el archivo "macotas.ods" y se lo envío a Fornalesa
Le digo a Fornaleza que abra el archivo y presione F5, ¿que sucederá?, ¿se ejecutará la macro "LaEdadDelGato"? persistí en mi pregunta porque hasta ahora no me dicen dónde se guardan los evetos o sucesos. ¿Será que se incrusta en el archivo al igual que la macro?
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

No sé donde se guarden los eventos, así como lo mencionas.

Contestando tu ultimo post:
Le digo a Fornaleza que abra el archivo y presione F5, ¿que sucederá?, ¿se ejecutará la macro "LaEdadDelGato"?
No, no lo hará.
Las macros asignadas a eventos de teclas (F5) también deben crearse/asociarse en la PC del vecino (a no ser que desde la misma macro utilices codigo de asignación a tecla especifica, pero esto es otro tema).

Saludos, Federico.
Última edición por fornelasa el Lun Oct 17, 2016 9:52 pm, editado 2 veces en total.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: OOo Basic-Eventos

Mensaje por mauricio »

Estas confundiendo un poco los termines...

Los eventos NO se guardan, los eventos "responde" a sucesos o acciones, los eventos se "relacionan" con alguna macro, las macros son las que se "guardan", donde?, todo esta documentado por aca: https://wiki.openoffice.org/wiki/ES/Man ... /StarBasic

Resumiendo
1.- Creas una macro, donde mejor te convenga, con el nombre que quieras.
2.- La relacionas con un evento.
3.- Cuando se desencadena el evento, se ejecuta la macro.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

Adicional a lo ya mencionado y en resumen:

*Un archivo que lleva macros, las macros funcionara en cualquier computadora pues dentro están las macros.
*Un archivo que usa macros guardadas en "MIS MACROS", solo funcionará, si yo llevo la carpeta MIS MACROS a cualquier otra computadora.
Hasta allí todo bien.
Excepto: Si la macro se asigna a un evento de tecla pulsada, entonces también esta "asignación" deberá llevarse de forma manual a la PC del vecino.
Nota: Se puede hacer código para que al abrir el archivo automáticamente se asigne la macro a la tecla F5 pero insisto esa es otra historia.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

mauricio escribió:Estas confundiendo un poco los termines...

Los eventos NO se guardan, los eventos "responde" a sucesos o acciones, los eventos se "relacionan" con alguna macro, las macros son las que se "guardan", donde?, todo esta documentado por aca: https://wiki.openoffice.org/wiki/ES/Man ... /StarBasic

Resumiendo
1.- Creas una macro, donde mejor te convenga, con el nombre que quieras.
2.- La relacionas con un evento.
3.- Cuando se desencadena el evento, se ejecuta la macro.

Saludos
Ok. Esa era la pregunta.
En realidad movido por las enseñanzas en tu libro APRENDIENDO OOOBASIC la cual estoy estudiando e intentando practicar.
Específicamente en el capítulo 5.2 Asignando macros, pones un ejemplo sencillo con la cual cada vez que creas un documento nuevo te ejecuta la macro "mostrarMensaje" la cual muestra el mensaje "No te olvides de guardar tu documento".
digamos que guarde la macro dentro del archivo Prueba.
Si yo le enviara ese archivo a una 100 personas, se que la macro funcionará pues está dentro del archivo. Pero... ¿se ejecutará la macro cada vez que uno o todas las 100 personas crearan un documento nuevo y les haría recordar a ellos que deben guardar el archivo?
o tengo que acceder yo, personal o remotamente, a las 100 computadoras y asignar la macro al evento o suceso (hay mucha confusión en los términos).
Uso como ejemplo una macro sencilla del libro, pues, si hiciera un sistema igual o mas complejo como el de facturación o inventario del libro, y asignara no uno sino tantos como mi creatividad me dicte eventos o sucesos o al revés (sigo viendo confuso los términos). Luego los llevaría a 1 o 20 o 354 computadoras de mis amigos. ¿tendría que acceder nuevamente a todas esas computadoras para asignar macros a eventos o sucesos los cuales no serían pocos?

gracias por el tiempo que les robo al leer tanto, es que deseo ser específico y comprensible.
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

¿tendría que acceder nuevamente a todas esas computadoras para asignar macros a eventos o sucesos los cuales no serían pocos?
Si, así es, de manera GENERAL hay que hacerlo así, a mano, y más aún con el evento que mencionas "Documento creado".

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

Ok, gracias por su tiempo, aunque acepto la respuesta y seguramente es así como se tiene que hacer, me quedo insatisfecho con esa manera de trabajar de OpenOffice y/o LibreOffice pues quita libertad al usuario del programador, un poco más y exigiría que el programador programe directamente en la computadora del usuario (claro que esta parte es así, pues tiene que asignarse macros a eventos en la misma terminal del usuario).
gracias.
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

Un momento, estoy revisando en Calc (supongo que es lo mismo para cualquier programa de OpenOffice o LibreOffice) en Herramientas/Personalizar/Teclado y veo que existe la opción de guardar esa configuración como un archivo *.cfg, y, de modo reciproco, cargar una configuración de un archivo *.cfg.
En otras palabras si se puede tener en un archivo los atajos de teclado que me permitirían ejecutar macros en una computadora con solo cargar el archivo *.cfg.
También veo que en Herramientas/Personalizar/Sucesos hay la opción de guardar los sucesos o la asignación de macros a sucesos en el mismo documento que estoy trabajando.
En otras palabras si se puede tener dichos sucesos asignados con su respectiva macro.
Bueno creo que esa era mi pregunta inicial. Solo falta probarlo.
Gracias
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

TaaaaTaaaaaaTaaaaaaTaaaaaa :twisted:
Para no divagar tanto, sugiero lo demuestres con el evento que tomaste como ejemplo, a saber, "Documento creado"
Digo, de entrada es ilógico asignar ese evento a una combinación de teclas ..... pero ok bien, veamoslo.
Espero tu conclusión
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
hans00700
Mensajes: 7
Registrado: Mar Jun 04, 2013 6:45 pm

Re: OOo Basic-Eventos

Mensaje por hans00700 »

Disculpa si herí sensibilidades con mis palabras.
Inicié este post diciendo "Como parte de mi estudio autodidacta de programación..."
No soy muy entendido ni preparado en el tema de "programación" ni de sus términos usados. Aprendí (no encuentro una palabra para indicar un aprendizaje abajo de básico) macros con el grabador de Ms Excel, viendo como se hacia para copiar texto de una celda a otra o como se hace con código para darle color a una celda.
En mi busqueda por aprender más instrucciones del vba basic (no se si se llama así) cierto día me topé con el libro de Mauricio Baeza, e inmediatamente me sentí impulsado a imprimirlo y leerlo. Intento practicarlo y tengo dudas.
Bueno, sin extender demasiado. Mis consultas no fueron para incomodar, e intenté ser específico con mis ejemplos (creo que el de la macro "No te olvides de guardar tu documento" no fue bien elegida, así que no mencionaré mas de ello.
Copiar un archivo *.cfg o cualquier otro en el cual se traslada configuraciones "no creo que se considere hacerlo a mano" pues es como llevar el programa en sí de frente a la terminal y cargas configuraciones y listo.
Otra cosa sería sentarme en cada uno de las 354 computadoras a asignar combinaciones de teclas a tantas macros, o eventos a macros (ya dije lo de la confusión de términos).
Bueno, gracias y disculpa por el mal entendido. Sólo deseo aprender.
LibreOffice 5.1
Ubuntu 12.04 / MsWindows Xp/7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: OOo Basic-Eventos

Mensaje por fornelasa »

Bueno no, no heriste ninguna susceptibilidad mía.
hans00700 escribió:Copiar un archivo *.cfg o cualquier otro en el cual se traslada configuraciones "no creo que se considere hacerlo a mano" pues es como llevar el programa en sí de frente a la terminal y cargas configuraciones y listo.
ok bien, ya diste tu opinión, ahora permiteme dar la mía: si nos tenemos que "parar" en 354 computadoras y hacer lo que comentas, aunque te tardes un segundo por computadora para mi si es hacerlo a mano ya que de no hacerlo así el evento no correría.
hans00700 escribió:Bueno, sin extender demasiado. Mis consultas no fueron para incomodar, e intenté ser específico con mis ejemplos (creo que el de la macro "No te olvides de guardar tu documento" no fue bien elegida, así que no mencionaré mas de ello.
Si, coincido, fue mal elegida y en base a eso también se te dió una respuesta. Considero que muchos eventos (lo que realmente se considera un evento) no pueden ser asignados a una combinación de teclas.

Si lo único que querías era asignar macros a combinaciones de teclas entonces sugiero no irnos por ese camino, es mejor en mi opinión hacer lo que este archivo dicta. Tiene una macro que se ejecuta con dos eventos (al abrir el archivo y al pulsar/soltar el botón de opción) sin cargar nada de archivos *.cfg
Hacer esto ultimo equivale a
fornelasa escribió:Todos los archivos que tengan eventos de macros dentro del mismo archivo funcionarán en cualquier computadora.
Saludos, Federico.
Adjuntos
xPrueba.ods
Eventos
(10.29 KiB) Descargado 200 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder