Bonjour,
Pour l'erreur d'absence de destinataire, mea culpa, j'avais désactivé ces lignes pour mes essais !
Pour le chemin , du fichier Numbers, j'ai ajouté son ouverture en début du script avec pour chemin: le fichier "liste.numbers" dans un dossier "script mail" dans "documents"
Macintosh HD:Users:****:documents:script mail:liste.numbers
J'ai également ajouter l'enregistrement du fichier numbers en fin, et quitter numbers.
Lorsque tout sera comme tu le souhaites, il faudra enregistrer ce script au format application pour son lancement auto.
Pour le contenu du mail, tu as vu que tu peux modifier le début dans la ligne de code qui est ensuite suivie du contenu de la cellule Numbers "E1".
Bloc de code:
set contenu to "Bonjour " & leprenom & " " & lenom & "," & CR & "Suite à mon mail du " & ladate & " " & blabla
Bloc de code:
tell application "Finder"
set chemin to ((path to home folder) & "documents:script mail:liste.numbers") as string
open chemin
activate
end tell
tell application "Numbers"
tell table 1 of sheet 1 of document "liste.numbers" -- voir document numbers
set CR to (ASCII character 13) -- initialise un retour ligne
set blabla to value of cell "E1" -- récupère le texte de la cellule E1
set leslignes to 2 -- initialise le numéro de la première ligne des clients
set nbmessage to 0
display dialog "ok"
repeat
if nbmessage = 50 then exit repeat -- stop si 50 messages
repeat
set celtest to "E" & 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 celnom to "A" & leslignes as string -- initialise les variables de numéro de cellules des données
set celprenom to "B" & leslignes as string
set celmail to "C" & leslignes as string
set celdate to "D" & leslignes as string
set lenom to value of cell celnom as string -- recupère le nom
if lenom = "missing value" then -- vérifie si la derniere ligne
exit repeat
end if
set leprenom to value of cell celprenom -- récupère le prenom
set lemail to value of cell celmail -- récupère le mail
set ladate to value of cell celdate -- récupère la date
tell application "Mail"
set contenu to "Bonjour " & leprenom & " " & lenom & "," & CR & "Suite à mon mail du " & ladate & " " & blabla -- prépare le contenu du mail
set newMessage to make new outgoing message with properties {subject:"Sujet", content:contenu} -- prépare le mail
tell newMessage
--Exemple de mise en forme du texte
--repeat with y from 0 to count of contenu
--set font of character (y) of content to "Helvetica Bold"
--end repeat
--repeat with y from 5 to 7
--set font of word (y) of content to "Helvetica Bold"
--end repeat
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
end tell
send newMessage
set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
end tell
tell application "Numbers"
tell table 1 of sheet 1 of document "liste.numbers"
set value of cell celtest to "X" -- renseigne numbers mail envoyé
end tell
end tell
set leslignes to leslignes + 1 -- prépare numéro ligne suivante
end repeat
end tell
save front document
quit
end tell
Bonjour,
Merci pour ton retour.
J'ai testé le fichier et c'est top.
Question, mon fichier va contenir que deux colonnes finalement : mail et blabla.
J'ai tenté de modifier le script mais une erreur apparait :
error "Erreur dans Numbers : Il est impossible d’obtenir cell \"B23\" of table 1 of sheet 1 of document \"liste.numbers\"." number -1728 from
cell "B23"
of table 1
of sheet 1
of document "liste.numbers"
Dernière question, j'ai vu que dans le script il y a une partie mise en page, donc si je souhaite mettre en forme avec des sauts de lignes de cette façon par exemple c'est directement dans le script ou je dois le faire au niveau de numbers ?
En fait non autre question, je suis ok dans le principe que le script sait qu'il a envoyé 50 mails et il s'arrête mais le lendemain quand je le relance il verra qu'il a deja envoyé les 50 mails donc ne fera aucune action non ?
Exemple :
Bonjour,
Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise un texte en faux latin, le Lorem ipsum ou Lipsum.
Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise un texte en faux latin, le Lorem ipsum ou Lipsum.
Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu'il est prêt ou que la mise en page est achevée. Généralement, on utilise un texte en faux latin, le Lorem ipsum ou Lipsum.
Cordialement
Bloc de code:
tell application "Finder"
set chemin to ((path to home folder) & "documents:script mails:liste.numbers") as string
open chemin
activate
end tell
tell application "Numbers"
tell table 1 of sheet 1 of document "liste.numbers" -- voir document numbers
set CR to (ASCII character 13) -- initialise un retour ligne
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
set nbmessage to 0
display dialog "ok"
repeat
if nbmessage = 50 then exit repeat -- stop si 50 messages
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 "C" & leslignes as string -- initialise les variables de numéro de cellules des données
if celmail = "missing value" then -- vérifie si la derniere ligne
exit repeat
end if
set lemail to value of cell celmail -- récupère le mail
tell application "Mail"
set contenu to "Bonjour " & blabla -- prépare le contenu du mail
set newMessage to make new outgoing message with properties {subject:"Sujet", content:contenu} -- prépare le mail
tell newMessage
--Exemple de mise en forme du texte
--repeat with y from 0 to count of contenu
--set font of character (y) of content to "Helvetica Bold"
--end repeat
--repeat with y from 5 to 7
--set font of word (y) of content to "Helvetica Bold"
--end repeat
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
end tell
send newMessage
set nbmessage to nbmessage + 1 --compte le nombre de message envoyé
end tell
tell application "Numbers"
tell table 1 of sheet 1 of document "liste.numbers"
set value of cell celtest to "X" -- renseigne numbers mail envoyé
end tell
end tell
set leslignes to leslignes + 1 -- prépare numéro ligne suivante
end repeat
end tell
save front document
quit
end tell