Macro para pulsar tecla

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Macro para pulsar tecla

Notapor zferrio » Mar Jul 16, 2019 5:43 pm

Necesito crear una macro para pulsar una tecla determinada, por ejemplo F4.
Quiero que al abrir un documento se active esa macro.
El problema es que no conozco Basic.
Alguien puede ayudarme?
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Mar Jul 16, 2019 5:51 pm

Son dos eventos diferentes:
1) Al pulsar F4
2) Al abrir documento
Por favor da más detalles de la pregunta.
Saludos.
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
fornelasa
 
Mensajes: 3216
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro para pulsar tecla

Notapor zferrio » Mar Jul 16, 2019 5:57 pm

La segunda frase es sólo para ampliar información.
Lo que necesito es que la macro pulse una tecla.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Mié Jul 17, 2019 12:08 am

Ojala puedas describir para que deseas hacer eso, en mi opinión es redundar mucho la macro.
¿Que hace F4?
Estando en un archivo abierto de Calc LibreOffice, por ejemplo en la celda A1 de la Hoja1, si pulsamos la tecla F4 nos aparece un cuadro de dialogo que dice:
Código: Seleccionar todo   Expandir vistaContraer vista
Información
No se encuentra ninguna referencia a otra celda en las celdas seleccionadas
Obvio, esperamos ver el mismo cuadro de dialogo después de ejecutar estas macros.

Vamos a suponer que estamos en un archivo de Calc llamado PulsarF4.ods

Usando el programa bloc de notas, copia, pega y guarda este script en la ruta correcta y ponle por nombre de archivo pulsarF4.wsf
Código: Seleccionar todo   Expandir vistaContraer vista
<package>
   <job id="vbs">
      <script language="VBScript">
      Dim Args
      Dim AppString
     
      Set Args = WScript.Arguments
      AppString = Args(0)
        set WshShell = WScript.CreateObject("WScript.Shell")
        WshShell.AppActivate AppString
        WshShell.SendKeys "{F4}"
       </script>
   </job>
</package>


En un modulo del archivo PulsarF4.ods crea esta macro y después Asignala al evento "Abrir documento", (Menú -- Herramientas -- Personalizar -- Ficha Sucesos -- Seleccionamos Abrir documento -- Pulsar botón Macro -- Doble clic PulsarF4.ods -- Doble clic Standard -- Doble clic Module1 -- Nombre de macro SeleccionarF4 -- Botón Aceptar -- Botón Aceptar)
Código: Seleccionar todo   Expandir vistaContraer vista
Sub SeleccionarF4()
   AppString = StarDeskTop.ActiveFrame.Title
   Shell("WScript ""C:\Users\Federico\Downloads\pulsarF4.wsf""" & " " & AppString,False)
End Sub

De lo anterior cambia esta ruta C:\Users\Federico\Downloads\pulsarF4.wsf por tu ruta correcta.


Salva y cierra tu archivo, vuelvelo a abrir. Ahora debemos obtener el mismo resultado de arriba, es decir:
Código: Seleccionar todo   Expandir vistaContraer vista
Información
No se encuentra ninguna referencia a otra celda en las celdas seleccionadas

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

Re: Macro para pulsar tecla

Notapor zferrio » Mié Jul 17, 2019 6:45 am

Explicaré mi intención.
La tecla F4 es un ejemplo. Podría servir cualquier tecla que no tenga asignada función.
He creado una aplicación que consiste en una base de datos en la que se introducen datos en determinados campos. Esos campos se utilizarán para crear un documento de texto writer cuando así lo necesite el ususario de la aplicación. Hasta aquí está ya creado y funcionando, de manera que el documento creado es una combinación de correspondencia.
De momento, los usuarios deben pulsar la tecla F4, a la que he asignado la función "Editar documentos individuales".
Yo quiero que, al crear ese documento writer nos "fusione", de forma automática, los datos de los campos creados en un documento final, pulsando la tecla F4. Creo que eso se puede hacer creando una macro que nos pulse la tecla determinada.
No conozco ningún otro sistema, pero estoy abierto a posibles alternativas.
La solución de fornelasa aún no la he probado, pero creo que no es lo que deseo hacer.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor zferrio » Mié Jul 17, 2019 9:32 am

He probado la solución aportada por fornelasa y funciona.
El problema es que dependo de un archivo ubicado en un determinado lugar y no siempre va a ser posible tener ese archivo en dicha ruta.
Busco el mismo resultado con una macro que pulse la tecla asignada.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Mié Jul 17, 2019 5:15 pm

Hola zferrio, a continuación mis comentarios:
1) De inicio tu consulta es bastante corta y no muy entendible.
2) En base al punto 1 se entendió que al abrir un archivo, una macro cualquiera nos pulse un tecla, y precisamente es lo que hace los scripts ya enviados. [Tema resuelto]
3) Después das una explicación (que con todo respeto) solo tu entiendes.
4) Después dices que ni has probado la macro y que no es lo que deseas
La solución de fornelasa aún no la he probado, pero creo que no es lo que deseo hacer.

5) Después dices que si que siempre si funciona pero que no es lo que necesitas
He probado la solución aportada por fornelasa y funciona.

6) Y al final sigues preguntando lo que preguntasté desde un inicio
Busco el mismo resultado con una macro que pulse la tecla asignada.

7) ¿Que debe entenderse por esto:?
El problema es que dependo de un archivo ubicado en un determinado lugar y no siempre va a ser posible tener ese archivo en dicha ruta.

Al final sigo sin entender tu consulta. Ojala alguien más de la comunidad adivine que deseas hacer.

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

Re: Macro para pulsar tecla

Notapor zferrio » Mié Jul 17, 2019 7:48 pm

Hola fornelasa,
He realizado una consulta para resolver un problema y no deseo entrar en confrontación con nadie.
Lo que necesito es que una macro realice la acción de pulsar una tecla (por ejemplo, F4). Es decir, que cuando se ejecute la macro, se pulse la tecla mencionada.
Tu me has facilitado una solución, que incluye un script, pero no es lo que yo quiero. Quiero precindir del script.
Te agredezco que hayas dedicado tu tiempo a intentar darme una solución pero no es, en esencia, lo que yo solicitaba.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor mauricio » Mié Jul 17, 2019 10:32 pm

entiendo que tienes ya realizada una macro que hace ciertas acciones... ¿es correcto?... si es así, no entiendo por que no asignar a cualquier tecla dicha macro, o al abrir documento como mencionas... si no es así, no he entendido lo que tienes y lo que quieres lograr.
______________________________________________
"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
mauricio
 
Mensajes: 5827
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Macro para pulsar tecla

Notapor zferrio » Jue Jul 18, 2019 6:51 am

Quiero conseguir que al abrir un documento, donde he creado una combinación de correspondencia, de forma automática realice la acción de "Editar documentos individuales".
Para ello, he pensado asignar esa acción a una tecla (F4), y que esa tecla se pulse mediante una macro, que se ejecuta al abrir el documento
He pensado que funcionaría...
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Jue Jul 18, 2019 5:06 pm

zferrio escribió:he pensado asignar esa acción a una tecla (F4), y que esa tecla se pulse mediante una macro, que se ejecuta al abrir el documento
zferrio escribió:Lo que necesito es que una macro realice la acción de pulsar una tecla (por ejemplo, F4). Es decir, que cuando se ejecute la macro, se pulse la tecla mencionada.

Que es exactamente lo que hace la macro y el script previamente enviado.
zferrio escribió:He probado la solución aportada por fornelasa y funciona.


zferrio escribió:Quiero precindir del script.
Hasta donde yo sé, es imposible hacerlo de otra manera, al menos no en Basic. Parece que si seguimos con esta idea es forzoso usar el script necesariamente.
Eso nos llevaría al paso siguiente:
fornelasa escribió:7) ¿Que debe entenderse por esto:?
El problema es que dependo de un archivo ubicado en un determinado lugar y no siempre va a ser posible tener ese archivo en dicha ruta.
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
fornelasa
 
Mensajes: 3216
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro para pulsar tecla

Notapor zferrio » Jue Jul 18, 2019 5:59 pm

Si no te importa, esperaré las aportaciones de otros usuarios, si las hubiese.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Jue Jul 18, 2019 7:19 pm

Si no te importa, esperaré las aportaciones de otros usuarios, si las hubiese.
No, no me importa.
De hecho tu pregunta la aproveché pensando en el beneficio de la comunidad por si a alguien le sirve incluyendote a ti, si no te sirve es igual para mi. Yo no tengo ningún interés en tu proyecto.
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
fornelasa
 
Mensajes: 3216
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro para pulsar tecla

Notapor zferrio » Vie Jul 19, 2019 7:14 pm

Hola fornelasa,
Mi respuesta anterior era más extensa, pero por algún motivo únicamente se publicó el último párrafo.
Te respondo a tu pregunta sobre porque no me sirve la opción del script.
En la aplicación que he creado, hay más de 300 documentos en los que necesito implementar esta solución.
La aplicación ( y estos documentos afectados) puede estar en diferentes ubicaciones dependiendo de los usuarios.
De esta forma, en ocasiones estará en el disco duro, en otras en un pendrive, en otras en un servidor ..., lo que obligaría a modificar en los más de 300 documentos la ruta del script.
Entenderás que eso no es viable, y por ello necesito que la solución sea que la macro realice la acción que he indicado.
Saludos.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm

Re: Macro para pulsar tecla

Notapor fornelasa » Vie Jul 19, 2019 8:22 pm

zferrio escribió:Mi respuesta anterior era más extensa, pero por algún motivo únicamente se publicó el último párrafo.
Si, es correcto, si la ví, pero como dices tú algo pasó.

Pero tu sabes lo que escribisté y yo lo vi.

En base a lo anterior, te comento:
fornelasa escribió:si no te sirve es igual para mi.

zferrio escribió:esperaré las aportaciones de otros usuarios, si las hubiese.
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
fornelasa
 
Mensajes: 3216
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro para pulsar tecla

Notapor zferrio » Vie Jul 19, 2019 8:34 pm

Bien, sólo quería dejar claro el motivo por el cual no me sirve la solución que tu aportas.
Libreoffice 6.0 con Windows 10
zferrio
 
Mensajes: 9
Registrado: Mar Jul 16, 2019 5:30 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 3 invitados