4 votos

¿Existe una forma más rápida de insertar texto en el cursor en AppleScript que la de "pulsar una tecla"?

Esto es para un archivo .scpt, activado por una combinación de teclado en FastScripts, titulado "Escribir como texto plano de una sola línea".

El código AppleScript toma el texto del portapapeles, elimina todo el formato de texto enriquecido, y luego elimina todos los saltos de línea y sangrías, estableciendo esta nueva cadena en una nueva variable, theClipboardTextWithoutAnyLineBreaksOrFormatting . Finalmente, quiero que el AppleScript inserte este nuevo texto en el cursor parpadeante.

Pero, no quiero sobrescribir el portapapeles original con esta nueva cadena de texto sin formato. Simplemente quiero que la nueva cadena se escriba en el cursor parpadeante, en todo el sistema y en cualquier aplicación. keystroke logra exactamente lo que quiero. Sólo es lento.

Aquí está el script:

set theClipboardTextWithoutAnyFormatting to (the clipboard as text)

set AppleScript's text item delimiters to {return & linefeed, return, linefeed, character id 8233, character id 8232}
set theClipboardTextWithoutAnyLineBreaksOrFormatting to text items of (theClipboardTextWithoutAnyFormatting as text)
set AppleScript's text item delimiters to {" "}

tell application "System Events" to keystroke theClipboardTextWithoutAnyLineBreaksOrFormatting

El problema de este método es que si theClipboardTextWithoutAnyLineBreaksOrFormatting contiene una cadena muy larga, por ejemplo 2.000 caracteres, entonces tardará en escribirse todo el texto, ya que se está haciendo manualmente en tiempo real.

¿Hay una forma mejor?

2voto

rubik's sphere Puntos 31

Sí.

Usuario @jackjr300 ha ideado aquí una solución ideal para esta cuestión:

Esta solución funciona en todo el sistema y no afecta al portapapeles.

Lo que se proporciona TypeCharacters Objective-C es significativamente (es decir, exponencialmente) más rápido al escribir texto que el archivo nativo de AppleScript keystroke comando.

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