[RESUELTO] Macro para pulsar tecla
[RESUELTO] Macro para pulsar tecla
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?
Quiero que al abrir un documento se active esa macro.
El problema es que no conozco Basic.
Alguien puede ayudarme?
Última edición por zferrio el Mar Sep 03, 2019 7:50 pm, editado 1 vez en total.
Libreoffice 6.0 con Windows 10
Re: Macro para pulsar tecla
Son dos eventos diferentes:
1) Al pulsar F4
2) Al abrir documento
Por favor da más detalles de la pregunta.
Saludos.
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
La segunda frase es sólo para ampliar información.
Lo que necesito es que la macro pulse una tecla.
Lo que necesito es que la macro pulse una tecla.
Libreoffice 6.0 con Windows 10
Re: Macro para pulsar tecla
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: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
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)
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:
Saludos, Federico.
¿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
Información
No se encuentra ninguna referencia a otra celda en las celdas seleccionadas
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
<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>
Código: Seleccionar todo
Sub SeleccionarF4()
AppString = StarDeskTop.ActiveFrame.Title
Shell("WScript ""C:\Users\Federico\Downloads\pulsarF4.wsf""" & " " & AppString,False)
End Sub
Salva y cierra tu archivo, vuelvelo a abrir. Ahora debemos obtener el mismo resultado de arriba, es decir:
Código: Seleccionar todo
Información
No se encuentra ninguna referencia a otra celda en las celdas seleccionadas
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
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.
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
Re: Macro para pulsar tecla
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.
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
Re: Macro para pulsar tecla
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
Saludos.
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
5) Después dices que si que siempre si funciona pero que no es lo que necesitasLa solución de fornelasa aún no la he probado, pero creo que no es lo que deseo hacer.
6) Y al final sigues preguntando lo que preguntasté desde un inicioHe probado la solución aportada por fornelasa y funciona.
7) ¿Que debe entenderse por esto:?Busco el mismo resultado con una macro que pulse la tecla asignada.
Al final sigo sin entender tu consulta. Ojala alguien más de la comunidad adivine que deseas hacer.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.
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
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.
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
Re: Macro para pulsar tecla
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
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Macro para pulsar tecla
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...
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
Re: Macro para pulsar tecla
Que es exactamente lo que hace la macro y el script previamente enviado.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 documentozferrio 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.
zferrio escribió:He probado la solución aportada por fornelasa y funciona.
zferrio escribió:Quiero precindir del script.
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
Si no te importa, esperaré las aportaciones de otros usuarios, si las hubiese.
Libreoffice 6.0 con Windows 10
Re: Macro para pulsar tecla
No, no me importa.Si no te importa, esperaré las aportaciones de otros usuarios, si las hubiese.
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
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.
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
Re: Macro para pulsar tecla
Si, es correcto, si la ví, pero como dices tú algo pasó.zferrio escribió:Mi respuesta anterior era más extensa, pero por algún motivo únicamente se publicó el último párrafo.
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Macro para pulsar tecla
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
Re: Macro para pulsar tecla
El siguiente código, asignado al evento abrir del documento, debería de funcionar:zferrio escribió: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".
Código: Seleccionar todo
Dim document As Object
Dim dispatcher As Object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:MailMergeCreateDocuments", "", 0, Array())
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Macro para pulsar tecla
Eso es!!! Funciona!!! SI SE PUEDE!
Muchas gracias, Mauricio. Eternamente agradecido.
Saludos
Muchas gracias, Mauricio. Eternamente agradecido.
Saludos
Libreoffice 6.0 con Windows 10
Re: Macro para pulsar tecla
No olvides marcar correctamente como [RESUELTO]
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Macro para pulsar tecla
lo siento, no encuentro dónde marcar para RESUELTO
Libreoffice 6.0 con Windows 10
Re: Macro para pulsar tecla
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro