Fichier joint avec application Mail
Bonjour,
Je suis débutant en applescript et j'ai "bricolé un programme pour envoyer en masse des attestations fiscales en utilisant un script qui :
1 - lit les données individuelles dans un fichier Excel
2 - Crée un fichier Pdf pour chaque attestation individuelle
3 - Stocke l'attestation dans un répertoire spécifié
4 - Envoi un mail individualisé avec l'attestation correspondante à la personne en pièce jointe.
Ces deux dernières années ça a bien fonctionné. mais pour cette année toutes les étapes fonctionnent bien sauf la N° 4 où si j'arrive bien à créer le mail personnalisé, la pièce jointe ne se rajoute pas.
Autre bizarrerie, une fois ou deux la pièce jointe s'est bien rajoutée, sans que je puisse identifier la raison, mais la plus part du temps il n'y a pas de pièce jointe.
Ce qui a changé depuis l'année dernière, c'est d'une part que je suis passé à El Capitan et d'autre part que j'ai changé de DD qui porte un autre nom.
Mais j'arrive bien à enregistrer le fichier pdf sur le DD dans le répertoire que je souhaite.
Est ce que ça peut venir de El Capitan où y a t il une autre raison ?
Les variables pour récupérer le fichier à joindre au mail sont "Répertoire" et "NomFichier". Et quand je les teste avec Display juste avant make new attachment with proprettes, les valeurs sont correctes.
Merci par avance pour votre aide.
Guy
Le bout de code pour le mail est ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| -- Paramétrer le mail
tell application "Mail"
set leCorps to "Bonjour," & return & return & "Tu trouveras ci-joint ton attestation fiscale pour l'année 2015" & return & return & "Si tu souhaites un envoi papier à ton adresse, il suffit de le demander en répondant à ce mail (si ce n'est pas déjà fait) en indiquant ton adresse courrier si elle a changé dernièrement." & return & return & "Guy FROMENT"
set LeSujet to "CONFIDENTIEL pour " & Civilite & " " & NomPrenom & " - Attestation 2015"
set nouveauMessage to make new outgoing message with properties {subject:LeSujet, content:leCorps & return & return}
set expediteur to "guyfroment@gmail.com"
set destinataire to AdresseMail
--display dialog AdresseMail
tell nouveauMessage
set visible to true
make new to recipient at end of to recipients with properties {name:expediteur, address:destinataire}
tell content
--display dialog "Répertoire = " & Repertoire & return & "Nom du fichier = " & NomFichier & " Attestation fiscale 2015.pdf"
make new attachment with properties {file name:Repertoire & NomFichier & " Attestation fiscale 2015.pdf"} at after the last paragraph
end tell
send nouveauMessage
end tell
end tell |
J'ai avancé un peu, mais ça Bug toujours
Bonjour PBELL,
j'ai un peu avancé, en recherchant pourquoi le script ne trouvait pas le fichier alors qu'il existait bien dans le répertoire spécifié.
j'ai donc, après le ligne display dialog "fichier introuvable", tenté d'ouvrir le fichier de deux manière. Voir code ci-dessous.
La première qui fonctionne consiste à l'ouvrir avec l'adresse spécifiée en clair et la seconde en utilisant les variables. C'est dans ce second cas que ça ne fonctionne par et il y a le message "Impossible de convertir «class cfol» "Attestations 2015" of «class cfol» "Documents" of «class cfol» "guyfroment" of «class cfol» "Users" of «class sdsk» of application "Finder" en type list, record or text." qui arrive.
Si j'ai bien compris (pas certain ..) c'est une histoire de déclaration de l'adresse du fichier en alias ou pas.
J'ai fait divers essais mais toujours pas de pièces jointe.
Une idée ?
Merci par avance
Guy
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| --Tenter d'ouvrir le fichier avec l'adresse explicite
(*tell application "Finder"
activate
open alias ":Untitled 1:Users:guyfroment:Documents:Attestations 2015:FROMENT GUY Attestation fiscale 2015.pdf"
end tell*)
--Réponse ça fonctionne, le fichier s'ouvre
--Tenter d'ouvrir le fichier avec l'adresse par variable
tell application "Finder"
activate
open alias Repertoire & NomFichier & " Attestation fiscale 2015.pdf"
end tell
-- Réponse = Impossible de convertir «class cfol» "Attestations 2015" of «class cfol» "Documents" of «class cfol» "guyfroment" of «class cfol» "Users" of «class sdsk» of application "Finder" en type list, record or text. |