Je suis totalement novice en la matière et je vous prie de me faire savoir si je dois clarifier ou améliorer ma question. J'ai fait de nombreuses recherches en utilisant différents mots-clés et je n'ai pas été en mesure de trouver une solution à mon problème, ou de faire en sorte que celles que j'espérais être une solution fonctionnent pour moi.
Je souhaite créer un AppleScript script qui, lorsqu'il est déclenché, me permet de coller un extrait de texte web avec l'attribution de la source et un horodatage, sans perdre les liens incorporés dans le texte sélectionné.
Voici une capture d'écran de ce que je souhaite réaliser :
Ne connaissant pas grand-chose à la programmation, j'ai pu bricoler l'AppleScript script suivant après quelques jours de recherche sur le web.
-- clear the clipboard
tell application "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
J'ai été contraint de recourir à cette solution de contournement, car lorsque j'utilisais la fonction set
commande les liens incorporés ont été supprimés du texte web sélectionné.
Bien que ce script fonctionne, il est assez lourd et lent. J'ai essayé toutes sortes de choses différentes, y compris des commandes shell script, mais jusqu'à présent, rien d'autre n'a fonctionné.
Quelqu'un peut-il m'aider à créer un script plus élégant et plus rapide qui conserve les liens intégrés dans le texte Web sélectionné ?
Je travaille sous MacOS Sierra 10.12.6.