You may try to run this script.
(*
http://www.macscripter.net/viewtopic.php?id=45983*)
# Builds the path to the storage folder to fit your needs
set thePDFPath to (path to documents folder as text) & "the PDFs:"
# The interface requires a POSIX path
set posixFolderPath to POSIX path of thePDFPath
tell application "Mail"
activate
set theMessages to selected messages of first message viewer
set PDFsNames to {}
repeat with aMessage in theMessages
set end of PDFsNames to (subject of aMessage) & ".pdf"
end repeat
end tell
tell application id "com.apple.systemevents" to tell process "Mail"
tell menu bar 1
-- get name of menu bar items
(*{
01 - "Apple",
02 - "Mail",
03 - "Fichier",
04 - "Édition",
05 - "Présentation",
06 - "Boîte aux lettres",
07 - "Message",
08 - "Format",
09 - "Fenêtre",
10 - "Aide"}
*)
set mt to 3
-- get name of menu bar item mt
-- {"Fichier"}
tell menu bar item mt to tell menu 1
-- get name of menu items
(* {
01 - "Nouveau message",
02 - "Nouvelle fenêtre de visualisation",
03 - "Ouvrir le Message",
04 - missing value,
05 - "Fermer la fenêtre",
06 - "Tout fermer",
07 - "Fermer l’onglet"
08 - "Enregistrer",
09 - "Enregistrer sous…",
10 - "Enregistrer comme modèle…",
11 - missing value,
12 - "Joindre des fichiers…",
13 - "Enregistrer les pièces jointes…",
14 - "Coup d’œil sur les pièces jointes…",
15 - missing value,
16 - "Importer des boîtes aux lettres…",
17 - missing value,
18 - "Exporter au format PDF…",
19 - missing value,
20 - "Imprimer…"}
*)
set mi to 18
-- get name of menu item mi
--{"Exporter au format PDF…"}
click menu item mi
end tell -- menu bar item mt to tell menu 1
end tell -- menu bar 1
(*
Wait for the availability of the sheet *)
repeat
if exists sheet 1 of window 1 then exit repeat
end repeat
tell sheet 1 of window 1
# Open the sheet allowing us to define the destination folder. I assumes that it exists.
keystroke "g" using {command down, shift down}
repeat until exists sheet 1
delay 0.02
end repeat
tell sheet 1
# Fills the field dedicated to the target folder path
# CAUTION. before 10.11 the target field was a text field. Now it's a combo box
if class of UI elements contains combo box then
--> {static text, combo box, button, button}
set value of combo box 1 to posixFolderPath
else
--> {static text, text field, button, button}
set value of text field 1 to posixFolderPath
end if
(*
# An alternate way would be
set value of UI element 2 to posixFolderPath
# But there is no guarantee that the index remains equal to 2
*)
--get name of buttons (*Aller, Annuler*)
keystroke return # ditto click button 1 (ou Aller)
end tell -- sheet 1
--class of UI elements
--> {button, button, button, button, group}
-- name of buttons
--> {"Sélectionner", "Nouveau dossier", "Annuler", "Options"}
click button 1
end tell # sheet 1 of window 1
end tell # application id "com.apple.systemevents"
delay 5 # Building the PDFs take some time.
# Now the folder thePDFPath contain the PDFs listed in PDFsNames
tell application id "com.apple.systemevents"
set thePaths to path of every file of folder thePDFPath whose name extension is "pdf"
end tell
thePaths
As you may see, I disabled several instructions which are useful during the coding process to define some parameters.
Yvan KOENIG running Sierra 10.12.6 in French (VALLAURIS, France) samedi 21 octobre 2017 20:47:52