C'est le même chemin d'accès pour le listing numbers sauf que c'est presentation.pdfTu as vérifié ou se trouve la PJ et son nom ?
tell application "Finder"
set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string
open chemin
activate
delay 3
end tell
tell application "Numbers"
set lafeuille to 1
set CR to (ASCII character 13) -- initialise un retour ligne
set nbmessage to 0
set leslignes to 2 -- initialise le numéro de la première ligne des clients
set lasuite to 1
repeat
tell table 1 of sheet lafeuille of document "liste.numbers" -- voir document numbers
set blabla to value of cell "B1" -- récupère le texte de la cellule E1
set leslignes to 2 -- initialise le numéro de la première ligne des clients
end tell
if nbmessage = 50 then exit repeat -- stop si 50 messages
tell table 1 of sheet lasuite of document "liste.numbers" -- voir document numbers
repeat
set celtest to "B" & leslignes as string
set letest to value of cell celtest -- controle si mail déja envoyé
if letest = "X" then
set leslignes to leslignes + 1
else
exit repeat
end if
end repeat
set celmail to "A" & leslignes as string
set celsuite to "A" & (leslignes + 1) as string
set suite to value of cell celsuite
set lemail to value of cell celmail as string -- recupère le nom
if lemail = "missing value" then -- vérifie si la derniere ligne
exit repeat
end if
end tell
tell application "Mail"
set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail
set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail
tell newMessage
set toaddresslist to {lemail} -- prépare l'adressed'envoi
make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
--Ajout pièces jointes
tell application "Finder"
set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string
end tell
set PieceJointe_list to {cheminPJ}
repeat with nbpj from 1 to count PieceJointe_list
set mapj to item nbpj of PieceJointe_list as alias
tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
end repeat
--fin ajout
end tell
delay 1
send newMessage
set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
end tell
tell application "Numbers"
tell table 1 of sheet lasuite of document "liste.numbers"
set value of cell celtest to "X" -- renseigne numbers mail envoyé
if suite = "fin" then
set lasuite to lasuite + 1
set leslignes to 1
end if
end tell
end tell
set leslignes to leslignes + 1 -- prépare numéro ligne suivante
end repeat
save front document
quit
end tell
Bonjour,Bonjour,
Après bien des recherches, j'ai fini par trouver ton problème. C'est une histoire de délai, le script envoyait le mail avant d'avoir fini d'y intégrer la pièce jointe, j'ai ajouté un délai de 1 seconde.
je te joins le nouveau script. tiens moi au courant !
Bloc de code:tell application "Finder" set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string open chemin activate delay 3 end tell tell application "Numbers" set lafeuille to 1 set CR to (ASCII character 13) -- initialise un retour ligne set nbmessage to 0 set leslignes to 2 -- initialise le numéro de la première ligne des clients set lasuite to 1 repeat tell table 1 of sheet lafeuille of document "liste.numbers" -- voir document numbers set blabla to value of cell "B1" -- récupère le texte de la cellule E1 set leslignes to 2 -- initialise le numéro de la première ligne des clients end tell if nbmessage = 50 then exit repeat -- stop si 50 messages tell table 1 of sheet lasuite of document "liste.numbers" -- voir document numbers repeat set celtest to "B" & leslignes as string set letest to value of cell celtest -- controle si mail déja envoyé if letest = "X" then set leslignes to leslignes + 1 else exit repeat end if end repeat set celmail to "A" & leslignes as string set celsuite to "A" & (leslignes + 1) as string set suite to value of cell celsuite set lemail to value of cell celmail as string -- recupère le nom if lemail = "missing value" then -- vérifie si la derniere ligne exit repeat end if end tell tell application "Mail" set contenu to "Bonjour, " & CR & CR & blabla -- prépare le contenu du mail set newMessage to make new outgoing message with properties {subject:"test", content:contenu} -- prépare le mail tell newMessage set toaddresslist to {lemail} -- prépare l'adressed'envoi make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail --Ajout pièces jointes tell application "Finder" set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string end tell set PieceJointe_list to {cheminPJ} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat --fin ajout end tell delay 1 send newMessage set nbmessage to nbmessage + 1 --compte le nombre de message envoyé end tell tell application "Numbers" tell table 1 of sheet lasuite of document "liste.numbers" set value of cell celtest to "X" -- renseigne numbers mail envoyé if suite = "fin" then set lasuite to lasuite + 1 set leslignes to 1 end if end tell end tell set leslignes to leslignes + 1 -- prépare numéro ligne suivante end repeat save front document quit end tell
tell newMessage
set toaddresslist to {lemail} -- prépare l'adressed'envoi
make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail
--Ajout pièces jointes
tell application "Finder"
set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string
end tell
set PieceJointe_list to {cheminPJ}
repeat with nbpj from 1 to count PieceJointe_list
set mapj to item nbpj of PieceJointe_list as alias
tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph
end repeat
--fin ajout
repeat with y from 0 to 7
set font of character (y) of content to "Helvetica Bold"
set size of character (y) of content to "16"
end repeat
end tell
delay 1
Merci pour ta réactivité !Bonjour,
Je t'avais mis ces possibilités dans le 1er script de ce post.
Il suffit d'ajouter, dans le bloc tell (NewMessage) les valeurs dans une boucle qui compte le nombres de caractères sur lequel appliquer.
Exemple: ton texte commence par "Bonjour" il y a donc 7 caractères à partir du début du texte, et tu veux mettre en "helvetica bold" et en taille "16".
Le bloc tell devient: je te mets le bloc complet:
Bloc de code:tell newMessage set toaddresslist to {lemail} -- prépare l'adressed'envoi make new to recipient at end of to recipients with properties {address:toaddresslist} -- envoi le mail --Ajout pièces jointes tell application "Finder" set cheminPJ to ((path to home folder) & "documents:script mail:presentation.pdf") as string end tell set PieceJointe_list to {cheminPJ} repeat with nbpj from 1 to count PieceJointe_list set mapj to item nbpj of PieceJointe_list as alias tell content of newMessage to make new attachment with properties {file name:mapj} at after last paragraph end repeat --fin ajout repeat with y from 0 to 7 set font of character (y) of content to "Helvetica Bold" set size of character (y) of content to "16" end repeat end tell delay 1