affichage des heures d'envoi des mails via AppleScript |
Bienvenue invité ( Connexion | Inscription )
affichage des heures d'envoi des mails via AppleScript |
27 Oct 2022, 09:48
Message
#31
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
Au vu de toutes tes demandes, j'ai fait un script qui te demande le nombre de jours et l'heure limite, puis qui ouvre "Numbers" qui met le résultat dans une feuille et à la fin qui tri par date Cela pourra te donner des idées pour le faire Tu auras le choix entre excel et numbers... Code display dialog "Nombre de jours pour la recherche ?" default answer "1095"
set MDate to (current date) - days * (text returned of result) -- défini date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "" set AppleScript's text item delimiters to {" "} tell application "Numbers" activate set newClasseur to make new document at front tell the first table of the active sheet of document 1 set the value of cell "a1" to "Le jour" set the value of cell "b1" to "La date" set the value of cell "c1" to "Heure envoi" set the value of cell "D1" to "Objet" set the value of cell "e1" to "Le destinataire" end tell end tell set ligne to 2 tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set heure to hours of maDate set mesDestinataires to (address of recipients of unMessage) as rich text set ladate to (short date string of maDate) set madatetexte to maDate as string set lejour to text item 1 of madatetexte set objet to subject of unMessage tell application "Numbers" activate tell the first table of the active sheet of document 1 set the value of cell ("a" & ligne) to lejour set the value of cell ("b" & ligne) to ladate set the value of cell ("c" & ligne) to heure set the value of cell ("d" & ligne) to objet set the value of cell ("e" & ligne) to mesDestinataires make new row end tell end tell set ligne to ligne + 1 end if end repeat end tell tell application "Numbers" activate tell the first table of the active sheet of document 1 sort by column "b" direction descending --in rows LaSelection end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
27 Oct 2022, 10:52
Message
#32
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Bonjour, Au vu de toutes tes demandes, j'ai fait un script qui te demande le nombre de jours et l'heure limite, puis qui ouvre "Numbers" qui met le résultat dans une feuille et à la fin qui tri par date Cela pourra te donner des idées pour le faire Tu auras le choix entre excel et numbers... Code display dialog "Nombre de jours pour la recherche ?" default answer "1095" set MDate to (current date) - days * (text returned of result) -- défini date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "" set AppleScript's text item delimiters to {" "} tell application "Numbers" activate set newClasseur to make new document at front tell the first table of the active sheet of document 1 set the value of cell "a1" to "Le jour" set the value of cell "b1" to "La date" set the value of cell "c1" to "Heure envoi" set the value of cell "D1" to "Objet" set the value of cell "e1" to "Le destinataire" end tell end tell set ligne to 2 tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set heure to hours of maDate set mesDestinataires to (address of recipients of unMessage) as rich text set ladate to (short date string of maDate) set madatetexte to maDate as string set lejour to text item 1 of madatetexte set objet to subject of unMessage tell application "Numbers" activate tell the first table of the active sheet of document 1 set the value of cell ("a" & ligne) to lejour set the value of cell ("b" & ligne) to ladate set the value of cell ("c" & ligne) to heure set the value of cell ("d" & ligne) to objet set the value of cell ("e" & ligne) to mesDestinataires make new row end tell end tell set ligne to ligne + 1 end if end repeat end tell tell application "Numbers" activate tell the first table of the active sheet of document 1 sort by column "b" direction descending --in rows LaSelection end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Oh ! Merci ! c'est géant ce que tu as réalisé Merci beaucoup pour ton aide !!! J'essaie d'obtenir l'affichage des minutes en plus des heures, mais je ne connais pas la formule. J'ai essayé de remplacer hours par time mais ce n'est pas ça. J'ai donc intercalé après les heures une colonne "minutes" pour palier au problème. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
27 Oct 2022, 11:26
Message
#33
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Ok pour l'affichage heure minute seconde voilà le script modifié:
Code display dialog "Nombre de jours pour la recherche ?" default answer "1095"
set MDate to (current date) - days * (text returned of result) -- défini hier comme date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "" set AppleScript's text item delimiters to {" "} tell application "Numbers" activate set newClasseur to make new document at front tell the first table of the active sheet of document 1 set the value of cell "a1" to "Le jour" set the value of cell "b1" to "La date" set the value of cell "c1" to "Heure envoi" set the value of cell "D1" to "Objet" set the value of cell "e1" to "Le destinataire" end tell end tell set ligne to 2 tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set mesDestinataires to (address of recipients of unMessage) as rich text set Ladate to (short date string of maDate) set madatetexte to maDate as string set heure to last text item of madatetexte set lejour to text item 1 of madatetexte set objet to subject of unMessage tell application "Numbers" activate tell the first table of the active sheet of document 1 set the value of cell ("a" & ligne) to lejour set the value of cell ("b" & ligne) to Ladate set the value of cell ("c" & ligne) to heure set the value of cell ("d" & ligne) to objet set the value of cell ("e" & ligne) to mesDestinataires make new row end tell end tell set ligne to ligne + 1 end if end repeat end tell tell application "Numbers" activate tell the first table of the active sheet of document 1 sort by column "b" direction descending --in rows LaSelection end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
27 Oct 2022, 12:31
Message
#34
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 265 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Merci pour la version Excel.
J'ai effectivement cherché sur le net et j'ai trouvé quelques sites indiquant que la commande "Paste Special" ne fonctionnait plus depuis Excel 2016. (voir ici Excel 2016 - Applescript broken) Je doute que Microsoft ne corrige cela un jour, donc, la porte étant fermée, nous allons passer par la fenêtre Pour ce faire, nous allons simuler la frappe clavier cmd v sur l'application Excel, comme si tu utilisais ces touches sur ton clavier. L’inconvénient de cette méthode (pour les puristes, c'est du GUI scripting) est que tu ne dois pas interférer avant la fin du script, donc pas toucher le clavier. Voici la nouvelle partie du script qui remplace les lignes situées après "Set the clipboard to monTexte": CODE tell application "Microsoft Excel" set monDoc to make new workbook -- create new workbook tell active sheet of monDoc activate select range "A1" end tell end tell tell application "System Events" to tell application process "Microsoft Excel" to keystroke "v" using command down Cela devrait, cette fois, passer outre le bug Excel. Quant à la question du tri, en principe les dates dans Excel peuvent être triées selon leurs valeurs et pas leur format d'affichage. Cependant, c'est peut être une subtilité de la version 2016 sur Mac (pas sur Windows !).... Il est aussi possible que les dates, dans tes préférences Mac ou Excel, soient au format mm/jj/aaaa (mois/jour/année) alors que Applescript te donne un format jj/mm/aaaa (inversion jour et mois - valide pour le format français). Je sais que le Canada préconise un format différent (aaaa/mm/jj) justement pour éviter les confusion entre jj/mm/aaaa et mm/jj/aaaa Il faut que tu vérifie tes préférences de gestion de dates (Apple Système Préférences et Excel). Enfin, dernière hypothèse, c'est que ta conversion de date convertisse les dates en string dans Excel. Je n'ai jamais eu ce cas malgré des années sur Excel, mais....!!? Donc je te suggère de faire d'abord le tri, puis la conversion de format de dd/mm/aaaa en format string. Cordialement PS: Je peux aussi essayer de compléter le script pour faire le tri par date dans Excel...ascendant ou descendant ? -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
27 Oct 2022, 13:02
Message
#35
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Je ne sais quoi dire à part merci beaucoup pour toute cette aide 👍
Si possible dans l’ordre croissant ? Mais perso si c’est possible d’utiliser Numbers je préfère, mais sinon c’est pas grave on reste sur Excel. J’ai tenté de remplacer l’application « Mail » par Outlook ou Microsoft Outlook mais cela ne fonctionne pas. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
27 Oct 2022, 13:45
Message
#36
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 265 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Pour le tri Excel, il semble que ici encore, Microsoft n'ai pas été très bon sur le dictionnaire Applescript...Il y a bien des objets "sort" et une fonction "add sortfield" mais qui ne semble pas fonctionner correctement... donc impasse !
Si tu préfère Numbers, désolé, je n'utilise que Excel. Mais Zeltron a fourni aujourd'hui une version avec Numbers. Quant au changement de Mail par Outlook, c'est la première partie du script. Il faut savoir que chaque application dispose de son propre dictionnaire de commandes scriptables: les commandes Mail sont très différentes de celles de Outlook. En conséquence, il ne suffit pas de changer "Mail" par "Outlook", il faut ré-écrire les instructions qui permettent de récupérer et filtrer les emails en utilisant le dictionnaire Outlook. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
27 Oct 2022, 14:08
Message
#37
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Je t'ai réécris le script, en évitant de l'écrire ligne par ligne, mais en créant (comme PBell) un fichier "emails_envoyés.txt" sur le breau, puis en l'important dans numbers et le trier par date du plus récent au plus ancien si tu veux le contraire il faut remplacer "descending" par "ascending".
Ce script sera plus rapide. Tu auras le fichier texte sur le bureau et une page dans numbers. Code display dialog "Nombre de jours pour la recherche ?" default answer "1095"
set MDate to (current date) - days * (text returned of result) -- défini hier comme date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "" set AppleScript's text item delimiters to {" "} tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set mesDestinataires to (address of recipients of unMessage) as rich text set Ladate to (short date string of maDate) set madatetexte to maDate as string set heure to last text item of madatetexte set lejour to text item 1 of madatetexte set objet to subject of unMessage set monTexte to monTexte & lejour & tab & Ladate & tab & heure & tab & objet & tab & mesDestinataires & tab & return end if end repeat end tell set Fichier_Log to (((path to desktop) as text) & "emails_envoyés.txt") try do shell script "touch " & (quoted form of (POSIX path of Fichier_Log)) do shell script "echo " & (quoted form of monTexte) & " >> " & (quoted form of (POSIX path of Fichier_Log)) end try set chemin to (path to desktop folder as text) & "emails_envoyés.txt" as alias tell application "Numbers" activate open chemin tell the first table of the active sheet of document 1 set format of column "B" to date and time sort by column "b" direction descending --in rows LaSelection end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Ce message a été modifié par Zeltron54 - 27 Oct 2022, 14:32. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
27 Oct 2022, 15:56
Message
#38
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Pour le tri Excel, il semble que ici encore, Microsoft n'ai pas été très bon sur le dictionnaire Applescript...Il y a bien des objets "sort" et une fonction "add sortfield" mais qui ne semble pas fonctionner correctement... donc impasse ! Si tu préfère Numbers, désolé, je n'utilise que Excel. Mais Zeltron a fourni aujourd'hui une version avec Numbers. Quant au changement de Mail par Outlook, c'est la première partie du script. Il faut savoir que chaque application dispose de son propre dictionnaire de commandes scriptables: les commandes Mail sont très différentes de celles de Outlook. En conséquence, il ne suffit pas de changer "Mail" par "Outlook", il faut ré-écrire les instructions qui permettent de récupérer et filtrer les emails en utilisant le dictionnaire Outlook. Cordialement Merci beaucoup pour tes précieuses précisions. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
27 Oct 2022, 16:33
Message
#39
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Je t'ai réécris le script, en évitant de l'écrire ligne par ligne, mais en créant (comme PBell) un fichier "emails_envoyés.txt" sur le breau, puis en l'important dans numbers et le trier par date du plus récent au plus ancien si tu veux le contraire il faut remplacer "descending" par "ascending". Ce script sera plus rapide. Tu auras le fichier texte sur le bureau et une page dans numbers. Code display dialog "Nombre de jours pour la recherche ?" default answer "1095" set MDate to (current date) - days * (text returned of result) -- défini hier comme date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "" set AppleScript's text item delimiters to {" "} tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set mesDestinataires to (address of recipients of unMessage) as rich text set Ladate to (short date string of maDate) set madatetexte to maDate as string set heure to last text item of madatetexte set lejour to text item 1 of madatetexte set objet to subject of unMessage set monTexte to monTexte & lejour & tab & Ladate & tab & heure & tab & objet & tab & mesDestinataires & tab & return end if end repeat end tell set Fichier_Log to (((path to desktop) as text) & "emails_envoyés.txt") try do shell script "touch " & (quoted form of (POSIX path of Fichier_Log)) do shell script "echo " & (quoted form of monTexte) & " >> " & (quoted form of (POSIX path of Fichier_Log)) end try set chemin to (path to desktop folder as text) & "emails_envoyés.txt" as alias tell application "Numbers" activate open chemin tell the first table of the active sheet of document 1 set format of column "B" to date and time sort by column "b" direction descending --in rows LaSelection end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Merci beaucoup pour ce script ! c'est top ! Là je télécharge 15 Go de mails, heureusement que j'ai la fibre, et hâte de tester tout ça ! -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
27 Oct 2022, 17:39
Message
#40
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 265 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
@ Zeltron,
Juste une dernière précision pour la gestion de l'heure: tu peux utiliser la fonction "time string", équivalente pour le temps à la fonction "short date string" pour la date. Ainsi l'instruction: CODE set monTexte to monTexte & (short date string of maDate) & tab & (time string of maDate) & tab & subject of unMessage & tab & mesDestinataires & return te donnera directement la date jj/mm/aaaa en colonne A, et hh:mm:ss en colonne B avec une vraie valeur de temps dans Excel (et je suppose dans Numbers). C'est le cas avec la fonction copié/collé, et cela devrait aussi fonctionner avec le fichier txt. Si, de plus, tu supprimes le caractère tab entre la date et le temps, le tout sera collé dans Excel sous un véritable format de date/time complet,...donc plus simple pour le tri que des colonnes dates et temps séparées. Cordialement Ce message a été modifié par PBell - 27 Oct 2022, 17:42. -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
27 Oct 2022, 19:52
Message
#41
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
@ PBell
Merci pour l'info "time string" je ne connaissais pas ! Mais bon, à l'importation dans numbers du fichier texte je formate la colonne B en date, puis je tri sur la date ! Le "time" est en colonne C et reste au format texte! Il me semble qu'il avait demandé de mettre les heures et minute dans une colonne séparée. En le faisant ligne par ligne numbers le reconnaissait comme date mes le traitement était beaucoup trop long... S'il a besoin de changer il fera la demande ! Encore merci pour toutes ces infos ! Bonne soirée. Ce message a été modifié par Zeltron54 - 27 Oct 2022, 19:55. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
27 Oct 2022, 20:00
Message
#42
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Une dernière question :
si je veux afficher non seulement les messages envoyés mais également ceux reçus, je dois modifier quoi dans le code ? J'ai essayé mailbox tout court, all mailbox, en remplacement de sent mailbox, mais j'ai des messages d'erreur. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
27 Oct 2022, 20:57
Message
#43
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonsoir,
J'ai ajouter dans le code l'affichage dans le fichier numbers d'une ligne de titre ! le nouveau code: Code display dialog "Nombre de jours pour la recherche ?" default answer "1095" set MDate to (current date) - days * (text returned of result) -- défini hier comme date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "Le jour" & tab & "La date" & tab & "Heure d'envoi" & tab & "Objet " & tab & " Le destinataire" & return set AppleScript's text item delimiters to {" "} tell application "Mail" set maListe to (every message in sent mailbox whose date sent > MDate) repeat with unMessage in maListe set maDate to date sent of unMessage if hours of maDate ≥ heurelimite then set mesDestinataires to (address of recipients of unMessage) as rich text set Ladate to (short date string of maDate) set madatetexte to maDate as string set heure to last text item of madatetexte set lejour to text item 1 of madatetexte set objet to subject of unMessage set monTexte to monTexte & lejour & tab & Ladate & tab & heure & tab & objet & tab & mesDestinataires & tab & return end if end repeat end tell set Fichier_Log to (((path to desktop) as text) & "emails_envoyés.txt") try do shell script "touch " & (quoted form of (POSIX path of Fichier_Log)) do shell script "echo " & (quoted form of monTexte) & " >> " & (quoted form of (POSIX path of Fichier_Log)) end try set chemin to (path to desktop folder as text) & "emails_envoyés.txt" as alias tell application "Numbers" activate open chemin tell the first table of the active sheet of document 1 set format of column "B" to date and time sort by column "b" direction descending --remplacer decending par ascending pour tri inverse end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Pour faire la même chose sur la boite de réception le code devient: Code display dialog "Nombre de jours pour la recherche ?" default answer "1095" set MDate to (current date) - days * (text returned of result) -- défini hier comme date de recherche display dialog "Début Heure de recherche ?" default answer "20" set heurelimite to text returned of result set monTexte to "Le jour" & tab & "La date" & tab & "Heure de réception" & tab & "Objet " & tab & "Expéditeur" & return set AppleScript's text item delimiters to {" "} tell application "Mail" set maListe to (every message in inbox whose date received > MDate) repeat with unMessage in maListe set maDate to date received of unMessage if hours of maDate ≥ heurelimite then set mesDestinataires to (sender of unMessage) as rich text set Ladate to (short date string of maDate) set madatetexte to maDate as string set heure to last text item of madatetexte set lejour to text item 1 of madatetexte set objet to subject of unMessage set monTexte to monTexte & lejour & tab & Ladate & tab & heure & tab & objet & tab & mesDestinataires & tab & return end if end repeat end tell set Fichier_Log to (((path to desktop) as text) & "emails_recus.txt") try do shell script "touch " & (quoted form of (POSIX path of Fichier_Log)) do shell script "echo " & (quoted form of monTexte) & " >> " & (quoted form of (POSIX path of Fichier_Log)) end try set chemin to (path to desktop folder as text) & "emails_recus.txt" as alias tell application "Numbers" activate open chemin tell the first table of the active sheet of document 1 set format of column "B" to date and time sort by column "b" direction descending --remplacer decending par ascending pour tri inverse end tell end tell tell application "Finder" activate (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell Dis moi si cela fonctionne comme tu veux ! Ce message a été modifié par Zeltron54 - 27 Oct 2022, 20:58. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
31 Oct 2022, 18:32
Message
#44
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Hello,
Pour le script qui affiche les messages de la boite de réception, j'ai un message d'erreur : Code error "Erreur dans Mail : Délai dépassé pour un AppleEvent." number -1712
-------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
31 Oct 2022, 18:40
Message
#45
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Je ne vois pas !
Je viens de retester chez moi, pas de message d'erreur ! -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
31 Oct 2022, 20:00
Message
#46
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Merci pour tes tests.
J'ai essayé avec 4000 jours et 5000 jours, j'ai un message d'erreur, mais bon c est pas grave. Serait-il possible d'avoir un script qui me sorte une feuille number incluant tous les mails reçus et envoyés par Mail depuis le 01/04/2010 ? Avec une colonne indiquant expéditeur et une colonne indiquant destinataire ? Je n'arrive pas à fusionner tes 2 scripts pour en faire 1 seul : je colle donc le premier tableau dans le second , mais je suis obligé de colorier le texte des mail expédiés en rouge pour les différencier. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
31 Oct 2022, 20:43
Message
#47
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Pour le message d'erreur,
Lorsque le script à terminé il met une boite de dialogue avec ""waouou ... Ca y est c'est fait !". Il faut que tu fermes ce dialogue dans les 2 minutes sinon une erreur est générée car le temps d'attente est trop long. (cela ne change en rien le résultat) Pour réunir les sortie des messages envoyés et des messages reçus, Après l'exécution des 2 scripts tu as donc une fenêtre numbers avec les messages envoyés et une fenêtre avec les messages reçus. Il devrait suffire de mettre les messages envoyés dans la même fenêtre que les messages reçu et ça dans une deuxième feuille. Une feuille pour les envoyés et une feuille pour les reçus. Pour faire cela cliquer sur l'onglet de la feuille --> copier la feuille,.... aller sur l'autre fenêtre, un clic sur l'onglet de la feuille--> coller la feuille, une deuxième feuille est créée automatiquement. Tu auras tout dans le même document... EDIT: n'oublies pas de supprimer les fichiers texte qui sont sur le bureau, avant une deuxième utilisation des scripts ! EDIT 2 : pour éviter le message d'erreur créé par le temps d'attente trop long de la fenêtre de fin du travail, tu remplaces la ligne : Code (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) par : Code display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"} giving up after 120 Qui ferme le dialogue après 2 minutes. Ce message a été modifié par Zeltron54 - 1 Nov 2022, 11:19. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
2 Nov 2022, 18:51
Message
#48
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Bonjour,
J'arrive à récupérer une feuille Numbers contenant des emails envoyés. Est-ce possible d'écrire un script qui filtre cette feuille Numbers en fonction de certains termes ? Par exemple, dans le script j'écris "coco@<spam>" et ça supprime la ligne où "coco@<spam>" figure ? Merci. Sinon, j'ai un problème : j'ai importé dans mail la boîte mail de 15 go dont je désirais extraire les emails envoyés. Or, depuis que j'ai ajouté ce nouveau compte dans mail, plus aucun script ne fonctionne, j'ai toujours des messages d'erreur Même les tous premiers scripts que vous m'avez généreusement offert ne renvoient des messages d'erreur Est-ce du à un volume trop important de données à traiter ? Merci pour votre aide. Le message qui s'affiche avec tous vos scripts est : "Délai dépassé pour un Apple Event" Le problème viendrait de Mail qui ne peut pas gérer trop d'e-mails ? J'ai aussi la suite Office sur mon Mac, pensez-vous qu'utiliser un script qui interroge Outlook et qui renvoie une réponse sous forme de feuille Excel sera plus fiable ? Ce message a été modifié par davdenice - 2 Nov 2022, 19:46.
Fichier(s) joint(s)
-------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
2 Nov 2022, 20:23
Message
#49
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Citation Est-ce possible d'écrire un script qui filtre cette feuille Numbers en fonction de certains termes ? Par exemple, dans le script j'écris "coco@<spam>" et ça supprime la ligne où "coco@<spam>" figure ? Il serait plus simple de saisir le terme à filtrer dans le script de recherche des mails pour ne pas les inclure dans le texte de sortie et donc de la feuille numbers. Pour ton message d'erreur, rien à voir avec le nombre de mails, la recherche se faisant sur la boite du compte par défaut, je suppose que le script cherche une boite d'envoi "sent mailbox" sans la trouver et fini par te mettre ce message. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
3 Nov 2022, 00:58
Message
#50
|
|
Adepte de Macbidouille Groupe : Membres Messages : 130 Inscrit : 21 Jan 2007 Membre no 78 760 |
Citation Est-ce possible d'écrire un script qui filtre cette feuille Numbers en fonction de certains termes ? Par exemple, dans le script j'écris "coco@<spam>" et ça supprime la ligne où "coco@<spam>" figure ? Il serait plus simple de saisir le terme à filtrer dans le script de recherche des mails pour ne pas les inclure dans le texte de sortie et donc de la feuille numbers. Pour ton message d'erreur, rien à voir avec le nombre de mails, la recherche se faisant sur la boite du compte par défaut, je suppose que le script cherche une boite d'envoi "sent mailbox" sans la trouver et fini par te mettre ce message. Ok, c'est bon, j'ai fait une recherche boite d'envoi par boite d'envoi, je devais les spécifier sinon le script ne trouvait rien. Merci beaucoup. -------------------- Ancien matériel possedé : MacBook noir Core 2 Duo 2 gHz RAM 4GB HD 500GB, MacBook blanc Core 2 Duo 2,2 gHz RAM 4GB SSD 128GB, iPod Mini Alu 4GB, iPhone 3G Black 16GB, Elgato EyeTV, Elgato Turbo.264, iPhone 4 16GB , Phone 4S 16GB, iPhone SE 32GB, HD externe LaCie 120GB.
Actuellement toujours chez : MacBook Air M1 8GB RAM 256GB SSD gris sidéral, iPad 9 64 GB gris sidéral, iPhone 11 64GB jaune, Apple Watch SE 2020, Apple TV 4K, SSD externe Crucial 1TB. |
|
|
3 Nov 2022, 07:51
Message
#51
|
|
Adepte de Macbidouille Groupe : Membres Messages : 177 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
Ok pour l'erreur ! Pour les filtres, dis moi si il faut inclure dans le script, sinon tu as la possibilité dans Numbers de filtrer ... sélectionner la colonne "Le Destinataire" puis En haut à droite --> organiser, -->Filtrer --> ajouter un filtre --> "le destinataire" --> Texte --> ne contient pas --> tu entres ton texte à filtrer... Ce message a été modifié par Zeltron54 - 3 Nov 2022, 14:21. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
Nous sommes le : 10th November 2024 - 18:47 |