Questo è per un file .scpt, attivato da una combinazione di tasti in FastScripts, intitolato "Tipo come testo normale a riga singola."
Il codice AppleScript prende il testo degli appunti, rimuove tutta la formattazione del rich text e quindi rimuove tutte le interruzioni di riga e le rientranze, impostando questa nuova stringa su una nuova variabile, theClipboardTextWithoutAnyLineBreaksOrFormatting
. Infine, voglio che l'AppleScript inserisca questo nuovo testo nel cursore lampeggiante.
Ma non voglio sovrascrivere gli appunti originali con questa nuova stringa di testo semplice. Voglio semplicemente che la nuova stringa venga digitata al cursore lampeggiante, a livello di sistema e in qualsiasi applicazione. keystroke
realizza esattamente ciò che voglio. È solo lento.
Ecco lo script completo:
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
Il problema con questo metodo è che se theClipboardTextWithoutAnyLineBreaksOrFormatting
contiene una stringa molto lunga, ad esempio 2000 caratteri, ci vorrà un po 'di tempo prima che tutto il testo venga digitato, poiché viene eseguito manualmente in tempo reale .
C'è un modo migliore?