1 votos

Pegar texto con AppleScript sin simular cmd-v con System Events

Me gustaría poder utilizar AppleScript para pegar el texto del portapapeles en la aplicación en primer plano. Todas las soluciones que he encontrado en Internet utilizan tell app "System Events" to keystroke "v" using command down . Sin embargo, estoy ejecutando este script con un atajo de teclado, por lo que es posible que ya esté manteniendo pulsadas las teclas cuando se dispara este comando, lo que hace que el pegado falle porque se pulsan más teclas que sólo cmd y v . Sé que puedo usar delay para darme tiempo a soltar las teclas, pero eso se siente como un hack (y lo ideal sería que el pegado fuera instantáneo).

¿Hay alguna forma de utilizar AppleScript para pegar sin simular el atajo de teclado cmd-v? Gracias.

Editar: También, si hay una manera de utilizar AppleScript para copiar el texto seleccionado sin simular cmd-c, que sería muy apreciada también.

3voto

James Puntos 106

He conseguido encontrar la siguiente solución.

tell application "System Events" to tell process (name of current application)
    tell menu bar item "Edit" of menu bar 1
        click menu item "Paste" of menu 1
    end tell
end tell

delay 0.1

El retraso está ahí para dar tiempo al sistema a copiar antes de usar el portapapeles.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X