Nuovo principiante qui quindi per favore fammi sapere se ho bisogno di chiarire o altrimenti migliorare la mia domanda. Ho cercato più volte utilizzando parole chiave diverse e non sono riuscito a trovare una soluzione al mio problema, né a realizzare quelle che speravo fossero una soluzione per me.
Voglio creare uno script AppleScript che, una volta attivato, mi consentirà di incollare una clip di testo web aggiunta con attribuzione di origine e una data / ora, senza perdere alcun collegamento incorporato nel testo selezionato.
Ecco una schermata di ciò che voglio ottenere:
Nonconoscendomoltodiqualsiasicosadiprogrammazione,sonoriuscitoaricostruireilseguentescriptAppleScriptdopoalcunigiornidiricercasulweb.
--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
Sono stato forzato in questa soluzione alternativa perché quando ho utilizzato il comando set
i collegamenti incorporati sono stati cancellati dal testo Web selezionato.
Sebbene questo script funzioni, è piuttosto macchinoso e lento. Ho provato tutti i tipi di cose diverse, compresi alcuni comandi di shell script, ma finora nient'altro ha funzionato.
Qualcuno può aiutarmi a creare uno script più elegante e veloce che mantenga ancora i link incorporati nel testo web selezionato?
Sono in esecuzione macOS Sierra 10.12.6.