Complete al novato aquí, así que avíseme si necesito aclarar o mejorar mi pregunta. He buscado varias veces con diferentes palabras clave y no he podido encontrar una solución a mi problema, o hacer que las que yo esperaba fueran una solución para mí.
Quiero crear un script de AppleScript que cuando se active me permita pegar un clip de texto web adjunto con la atribución de origen y una marca de tiempo, sin perder ningún enlace incrustado dentro del texto seleccionado.
Aquí hay una captura de pantalla de lo que quiero lograr:
Sinsabermuchodenadaencuantoaprogramación,pudearmarelsiguientescriptdeAppleScriptdespuésdeunosdíasdebúsquedaenlaweb.
--cleartheclipboardtellapplication"Finder"
set the clipboard to " "
delay 0.1
end tell
-- copy selected text
tell application "Safari"
activate
tell application "System Events"
tell process "Safari"
keystroke "c" using {command down}
delay 0.1
end tell
end tell
end tell
-- open and paste web clip into specified TextEdit file
tell application "TextEdit"
activate
open "Macintosh HD:Users:Web:Documents:Web Text Clips:Web_Text_Clips.rtf"
delay 0.2
tell application "System Events"
tell process "TextEdit"
keystroke "v" using {command down}
delay 0.1
end tell
end tell
end tell
-- get, format and copy source info and timestamp
tell application "Safari"
activate
set theLongDate to current date
set theWindowName to the name of the front window
set theURL to the URL of the front document
set writeString to "- - - - - " & return & "From: " & theURL & return & "Page Title: " & theWindowName & return & "Date: " & theLongDate
set the clipboard to writeString
end tell
-- paste source info and timestamp into predefined position of the specified TextEdit file
tell application "TextEdit"
activate
tell application "System Events"
tell process "TextEdit"
keystroke (ASCII character 31) using command down
keystroke return
keystroke return
keystroke "v" using {command down}
delay 0.1
end tell
end tell
end tell
-- copy content of specified TextEdit file
tell application "TextEdit"
activate
tell application "System Events"
tell process "TextEdit"
keystroke "a" using {command down}
keystroke "c" using {command down}
delay 0.1
end tell
end tell
end tell
-- delete content of specified TextEdit file
tell application "TextEdit"
activate
tell application "System Events"
tell process "TextEdit"
keystroke "a" using {command down}
keystroke "x" using {command down}
delay 0.1
end tell
end tell
end tell
-- save specified TextEdit file and quit TextEdit
tell application "TextEdit"
save "Macintosh HD:Users:Web:Documents:Web Text Clips:Web_Text_Clips.rtf"
quit
end tell
Fui forzado a esta solución porque cuando usé el comando set
, los enlaces incrustados fueron borrados del texto web seleccionado.
Si bien este script funciona, es bastante engorroso y lento. He intentado todo tipo de cosas diferentes, incluidos algunos comandos de shell script, pero hasta ahora nada más ha funcionado.
¿Puede alguien ayudarme a crear un script más elegante y rápido que aún mantenga los enlaces incrustados en el texto web seleccionado?
Estoy ejecutando macOS Sierra 10.12.6.