Come creare il servizio Automator per cambiare il carattere del testo selezionato?

1

Sto tentando di creare un "Servizio" in Automator che modifica il carattere del testo selezionato nell'app in primo piano.

    
posta Ze'ev 27.02.2013 - 18:55
fonte

2 risposte

1

Potresti assegnare una scorciatoia a uno script come questo:

tell application "System Events" to tell (process 1 where frontmost is true)
    set {c1, c2} to value of attribute "AXSelectedTextRange" of text area 1 of scroll area 1 of window 1
end tell
tell application (path to frontmost application as text) to tell document 1
    tell characters c1 thru c2
        set font to "Menlo"
        set size to 18
    end tell
end tell

Funziona con TextEdit e WriteRoom, ma probabilmente deve essere modificato per altre applicazioni.

Un'altra opzione davvero terribile:

try
    set old to the clipboard as record
end try
do shell script "textutil -stdin -stdout -format html -convert rtf <<< '<span style=\"font: 18px Menlo\">a</span>' | pbcopy"
tell application "System Events"
    keystroke "v" using command down
    keystroke "c" using {option down, command down}
    keystroke "z" using command down
    keystroke "v" using {option down, command down}
end tell
delay 0.05
try
    set the clipboard to old
end try
    
risposta data 28.02.2013 - 14:34
fonte
0

Dopo molte ricerche, il flusso di lavoro qui sotto funziona per me in TextEdit, Mail, Notes, Stickies. Dove non funziona è quando l'app utilizza Stili (Microsoft Word, Pages, Keynote), perché lo stile sostituisce il carattere che hai inserito. L'unico modo in cui posso pensare di sovrascrivere lo stile è quello di creare direttamente uno script per ogni app per creare uno stile personalizzato.

CodiceapplesScript:

onrun{input,parameters}doshellscript"pbpaste | textutil -stdin -stdout -convert rtf -font Arial -fontsize 12 | pbcopy"
    tell application "System Events" to keystroke "v" using command down

    return input
end run
    
risposta data 19.04.2017 - 20:50
fonte

Leggi altre domande sui tag