J'explique le contexte :
Sous O2003, on reçoit des mails venant de pays asiatique.
Les PJ, souvent des PDF, ont donc des caractères japonnais ou autre
dans le nom du fichier.
Mon soucis est que lorsqu'on essaye d'ouvrir le fichier depuis le mail,
Acrobat reader dit ne pas reconnaître le format.
Par contre, si on enregistre le fichier sur disque, les caractères un
peu spéciaux disparaissent et le fichier est lisible sans problème.
Jusque là, vous me direz, il n'y a pas trop de problème.
Le soucis, est que mes collègue confondent la messagerie avec le
serveur de stockage. Du coup, pour garder ces fichiers dans leur BAL,
il se le renvoie par mail et garde bien sûr le mail d'origine pour le
texte qu'il contient.
Du coup, des fichiers qui se retrouvetn 2 fois dans les BAL...
Je cherche donc à savoir si il y a moyen de modifier le nom d'une ou
plusieurs PJ dans un mail pour éviter ça...
Par VBA j'imagine, mais un conseil sur les instructions à utiliser
serait le bienvenue...
Pouvez-vous me confirmer que vous n'avez aucun message d'alerte de Outlook ? Il semble qu'en version 2007 la plupart ont disparu.
Je confirme, je n'ai eu aucun message d'alerte...
Par contre, je suis sous O2003, pas sous 2007...
Gasp, si j'avais mieux lu, je ne me serai pas lancé ;-)
Et en version 2003 : Dim Dossier As Folder passe aussi ?
Non, ça ne marche pas...
Petit remarque, sur ton code : Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à rien. En fait, comme ta variable est de type MailItem, à la ligne
-> Set Courrier = Inspecteur.CurrentItem
il y a une erreur si on est sur autre chose...
Bonjour Geo,
Pouvez-vous me confirmer que vous n'avez aucun message d'alerte de Outlook
? Il semble qu'en version 2007 la plupart ont disparu.
Je confirme, je n'ai eu aucun message d'alerte...
Par contre, je suis sous O2003, pas sous 2007...
Gasp, si j'avais mieux lu, je ne me serai pas lancé ;-)
Et en version 2003 :
Dim Dossier As Folder
passe aussi ?
Non, ça ne marche pas...
Petit remarque, sur ton code :
Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à
rien.
En fait, comme ta variable est de type MailItem, à la ligne
Pouvez-vous me confirmer que vous n'avez aucun message d'alerte de Outlook ? Il semble qu'en version 2007 la plupart ont disparu.
Je confirme, je n'ai eu aucun message d'alerte...
Par contre, je suis sous O2003, pas sous 2007...
Gasp, si j'avais mieux lu, je ne me serai pas lancé ;-)
Et en version 2003 : Dim Dossier As Folder passe aussi ?
Non, ça ne marche pas...
Petit remarque, sur ton code : Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à rien. En fait, comme ta variable est de type MailItem, à la ligne
-> Set Courrier = Inspecteur.CurrentItem
il y a une erreur si on est sur autre chose...
Geo
Et en version 2003 : Dim Dossier As Folder passe aussi ?
Non, ça ne marche pas...
Ok, normal
Petit remarque, sur ton code : Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à rien. En fait, comme ta variable est de type MailItem, à la ligne
-> Set Courrier = Inspecteur.CurrentItem
il y a une erreur si on est sur autre chose...
Effectivement :-( Deux solutions : déclarer Courrier en Object ou inverser les instructions : 'Cet affichage concerne-t-il un courrier ? If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then MsgBox "Choisir un courrier" Exit Sub End If Set Courrier = Inspecteur.CurrentItem C'est sympa de faire un retour, ça me permet de m'améliorer :-)
-- A+
Et en version 2003 :
Dim Dossier As Folder
passe aussi ?
Non, ça ne marche pas...
Ok, normal
Petit remarque, sur ton code :
Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à rien.
En fait, comme ta variable est de type MailItem, à la ligne
-> Set Courrier = Inspecteur.CurrentItem
il y a une erreur si on est sur autre chose...
Effectivement :-(
Deux solutions :
déclarer Courrier en Object ou inverser les instructions :
'Cet affichage concerne-t-il un courrier ?
If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then
MsgBox "Choisir un courrier"
Exit Sub
End If
Set Courrier = Inspecteur.CurrentItem
C'est sympa de faire un retour, ça me permet de m'améliorer :-)
Et en version 2003 : Dim Dossier As Folder passe aussi ?
Non, ça ne marche pas...
Ok, normal
Petit remarque, sur ton code : Le teste pour savoir si l'élement ouvert est un mail ou pas ne sert à rien. En fait, comme ta variable est de type MailItem, à la ligne
-> Set Courrier = Inspecteur.CurrentItem
il y a une erreur si on est sur autre chose...
Effectivement :-( Deux solutions : déclarer Courrier en Object ou inverser les instructions : 'Cet affichage concerne-t-il un courrier ? If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then MsgBox "Choisir un courrier" Exit Sub End If Set Courrier = Inspecteur.CurrentItem C'est sympa de faire un retour, ça me permet de m'améliorer :-)
-- A+
Fabrice N.
Bonjour Geo,
Deux solutions : déclarer Courrier en Object ou inverser les instructions : 'Cet affichage concerne-t-il un courrier ? If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then MsgBox "Choisir un courrier" Exit Sub End If Set Courrier = Inspecteur.CurrentItem
Je suis un peu plus bourrin que toi. Je suis passé par la gestion d'erreur : On Error Resume Next Set Courrier = Inspecteur.CurrentItem If Err <> 0 Then MsgBox "L'élément en cours n'est pas un e-mail" Exit Sub End If On Error GoTo 0
C'est sympa de faire un retour, ça me permet de m'améliorer :-)
C'est fais pour ça les NG non ? ... ;-) C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les infos... ça évitera un autre post pour dire "y marche pas tron truc..." ... ;o)
Bonjour Geo,
Deux solutions :
déclarer Courrier en Object ou inverser les instructions :
'Cet affichage concerne-t-il un courrier ?
If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then
MsgBox "Choisir un courrier"
Exit Sub
End If
Set Courrier = Inspecteur.CurrentItem
Je suis un peu plus bourrin que toi. Je suis passé par la gestion
d'erreur :
On Error Resume Next
Set Courrier = Inspecteur.CurrentItem
If Err <> 0 Then
MsgBox "L'élément en cours n'est pas un e-mail"
Exit Sub
End If
On Error GoTo 0
C'est sympa de faire un retour, ça me permet de m'améliorer :-)
C'est fais pour ça les NG non ? ... ;-)
C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les
infos... ça évitera un autre post pour dire "y marche pas tron truc..."
... ;o)
Deux solutions : déclarer Courrier en Object ou inverser les instructions : 'Cet affichage concerne-t-il un courrier ? If TypeName(Inspecteur.CurrentItem) <> "MailItem" Then MsgBox "Choisir un courrier" Exit Sub End If Set Courrier = Inspecteur.CurrentItem
Je suis un peu plus bourrin que toi. Je suis passé par la gestion d'erreur : On Error Resume Next Set Courrier = Inspecteur.CurrentItem If Err <> 0 Then MsgBox "L'élément en cours n'est pas un e-mail" Exit Sub End If On Error GoTo 0
C'est sympa de faire un retour, ça me permet de m'améliorer :-)
C'est fais pour ça les NG non ? ... ;-) C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les infos... ça évitera un autre post pour dire "y marche pas tron truc..." ... ;o)
Oliv'
C'est fais pour ça les NG non ? ... ;-) C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les infos... ça évitera un autre post pour dire "y marche pas tron truc..." ... ;o)
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C'est fais pour ça les NG non ? ... ;-)
C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les
infos... ça évitera un autre post pour dire "y marche pas tron
truc..." ... ;o)
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le
même nom !!! si si.
et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en
question.
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas
!!!
et là moins de boulot pour votre cpu et votre disque dur !!!!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera
au point.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C'est fais pour ça les NG non ? ... ;-) C'est comme ça qu'on échange des astuces et qu'on progresse... ;-)
Et pis si quelqu'un veut faire la même chose, il aura toute les infos... ça évitera un autre post pour dire "y marche pas tron truc..." ... ;o)
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fabrice N.
Bonjour Oliv',
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et ça ne marche pas. Je n'ai pas d'erreur, mais rien ne change dans le mail... j'aurais oublié quelque chose ?
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
Pas de problème, avec grand plaisir... J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur va lancer la macro, pour chaque pièce jointe il aura la question du nom qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il veut laisser comme ça. Car je me suis aperçu que dans le cas un mail avec une image en signature, ça me met la signature en pièce jointe et elle disparaît du corps du message...
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf si tu sais comment renommer les pièces jointes directement, et ensuite, je posterais tout ça...
A+
Bonjour Oliv',
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le
même nom !!! si si.
et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en
question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer
comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas
!!!
et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et ça
ne marche pas.
Je n'ai pas d'erreur, mais rien ne change dans le mail...
j'aurais oublié quelque chose ?
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera
au point.
Pas de problème, avec grand plaisir...
J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur
va lancer la macro, pour chaque pièce jointe il aura la question du nom
qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il veut
laisser comme ça. Car je me suis aperçu que dans le cas un mail avec
une image en signature, ça me met la signature en pièce jointe et elle
disparaît du corps du message...
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf
si tu sais comment renommer les pièces jointes directement, et ensuite,
je posterais tout ça...
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et ça ne marche pas. Je n'ai pas d'erreur, mais rien ne change dans le mail... j'aurais oublié quelque chose ?
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
Pas de problème, avec grand plaisir... J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur va lancer la macro, pour chaque pièce jointe il aura la question du nom qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il veut laisser comme ça. Car je me suis aperçu que dans le cas un mail avec une image en signature, ça me met la signature en pièce jointe et elle disparaît du corps du message...
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf si tu sais comment renommer les pièces jointes directement, et ensuite, je posterais tout ça...
A+
Oliv'
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@ "technicn.com"> que je salue a écrit *:
Bonjour Oliv',
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et ça ne marche pas. Je n'ai pas d'erreur, mais rien ne change dans le mail... j'aurais oublié quelque chose ?
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une carte de visite et bien en changeant le displayname le FileName changeait aussi (après avoir fermé puis réouvert le mail) par contre avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
Pas de problème, avec grand plaisir... J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur va lancer la macro, pour chaque pièce jointe il aura la question du nom qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il veut laisser comme ça. Car je me suis aperçu que dans le cas un mail avec une image en signature, ça me met la signature en pièce jointe et elle disparaît du corps du message...
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Function Attachtype(ByVal strEntryID As String, attindex As Integer) As Variant
Dim oSession As MAPI.Session ' CDO objects Dim oMsg As MAPI.Message Dim oAttachs As MAPI.Attachments Dim oAttach As MAPI.Attachment
' initialize CDO session On Error Resume Next Set oSession = CreateObject("MAPI.Session") oSession.Logon "", "", False, False
' get the message created earlier Set oMsg = oSession.GetMessage(strEntryID) ' set properties of the attached graphic that make ' it embedded and give it an ID for use in an <IMG> tag Set oAttachs = oMsg.Attachments Set oAttach = oAttachs.Item(attindex) Dim strCID As String strCID = oAttach.Fields(&H3712001E)
Attachtype = strCID Set oMsg = Nothing oSession.Logoff Set oSession = Nothing
End Function
Pour l'utiliser :
strEntryID = ObjCurrentMessage.EntryID For Each objAtt In objAtts typeatt = Attachtype(strEntryID, objAtt.index) If typeatt <> "" ' si pas vide = élément du mail Or UCase(Right(objAtt.FileName, 3)) = "ZIP" Then MsgBox " [" & objAtt.FileName & "] est une image insérée ou est déjà un ZIP" & vbCr & " cette pièce ne sera pas zippée" nb_embedded = nb_embedded + 1 End If Next
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf si tu sais comment renommer les pièces jointes directement, et ensuite, je posterais tout ça...
pour la suppression
on error resume next kill repertoire & "*.*" on error goto 0
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@
"technicn.com"> que je salue a écrit *:
Bonjour Oliv',
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj
avec le même nom !!! si si.
et que le PJ.SaveAsFile supprime le fichier s'il existe dans le
dossier en question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer
comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne
l'est pas !!!
et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et
ça ne marche pas.
Je n'ai pas d'erreur, mais rien ne change dans le mail...
j'aurais oublié quelque chose ?
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une
carte de visite et bien en changeant le displayname le
FileName changeait aussi (après avoir fermé puis réouvert le mail) par
contre avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand
elle sera au point.
Pas de problème, avec grand plaisir...
J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur
va lancer la macro, pour chaque pièce jointe il aura la question du
nom qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il
veut laisser comme ça. Car je me suis aperçu que dans le cas un mail
avec une image en signature, ça me met la signature en pièce jointe
et elle disparaît du corps du message...
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Function Attachtype(ByVal strEntryID As String, attindex As Integer) As
Variant
Dim oSession As MAPI.Session
' CDO objects
Dim oMsg As MAPI.Message
Dim oAttachs As MAPI.Attachments
Dim oAttach As MAPI.Attachment
' initialize CDO session
On Error Resume Next
Set oSession = CreateObject("MAPI.Session")
oSession.Logon "", "", False, False
' get the message created earlier
Set oMsg = oSession.GetMessage(strEntryID)
' set properties of the attached graphic that make
' it embedded and give it an ID for use in an <IMG> tag
Set oAttachs = oMsg.Attachments
Set oAttach = oAttachs.Item(attindex)
Dim strCID As String
strCID = oAttach.Fields(&H3712001E)
Attachtype = strCID
Set oMsg = Nothing
oSession.Logoff
Set oSession = Nothing
End Function
Pour l'utiliser :
strEntryID = ObjCurrentMessage.EntryID
For Each objAtt In objAtts
typeatt = Attachtype(strEntryID, objAtt.index)
If typeatt <> "" ' si pas vide = élément du mail
Or UCase(Right(objAtt.FileName, 3)) = "ZIP" Then
MsgBox " [" & objAtt.FileName & "] est une image insérée ou est déjà
un ZIP" & vbCr & " cette pièce ne sera pas zippée"
nb_embedded = nb_embedded + 1
End If
Next
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf
si tu sais comment renommer les pièces jointes directement, et
ensuite, je posterais tout ça...
pour la suppression
on error resume next
kill repertoire & "*.*"
on error goto 0
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@ "technicn.com"> que je salue a écrit *:
Bonjour Oliv',
J'attire votre Attention sur le fait qu'un mail peux contenir 2 pj avec le même nom !!! si si. et que le PJ.SaveAsFile supprime le fichier s'il existe dans le dossier en question.
J'ai vu, mais si on part du principe que c'est un dossier à considérer comme temporaire, ce n'est pas encore trop grave...
Par contre si le FileName est en lecture seule le DisplayName ne l'est pas !!! et là moins de boulot pour votre cpu et votre disque dur !!!!
C'est vrai, mais on a testé en premier de modifier le DisplayName et ça ne marche pas. Je n'ai pas d'erreur, mais rien ne change dans le mail... j'aurais oublié quelque chose ?
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une carte de visite et bien en changeant le displayname le FileName changeait aussi (après avoir fermé puis réouvert le mail) par contre avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Si vous voulez je peux ajouter votre macro à la faq de Jièl quand elle sera au point.
Pas de problème, avec grand plaisir... J'ai déjà fait quelques modif car dans mon idée, lorsque l'utilisateur va lancer la macro, pour chaque pièce jointe il aura la question du nom qu'il veut mettre à la place. Il pourra ainsi zapper les PJ qu'il veut laisser comme ça. Car je me suis aperçu que dans le cas un mail avec une image en signature, ça me met la signature en pièce jointe et elle disparaît du corps du message...
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Function Attachtype(ByVal strEntryID As String, attindex As Integer) As Variant
Dim oSession As MAPI.Session ' CDO objects Dim oMsg As MAPI.Message Dim oAttachs As MAPI.Attachments Dim oAttach As MAPI.Attachment
' initialize CDO session On Error Resume Next Set oSession = CreateObject("MAPI.Session") oSession.Logon "", "", False, False
' get the message created earlier Set oMsg = oSession.GetMessage(strEntryID) ' set properties of the attached graphic that make ' it embedded and give it an ID for use in an <IMG> tag Set oAttachs = oMsg.Attachments Set oAttach = oAttachs.Item(attindex) Dim strCID As String strCID = oAttach.Fields(&H3712001E)
Attachtype = strCID Set oMsg = Nothing oSession.Logoff Set oSession = Nothing
End Function
Pour l'utiliser :
strEntryID = ObjCurrentMessage.EntryID For Each objAtt In objAtts typeatt = Attachtype(strEntryID, objAtt.index) If typeatt <> "" ' si pas vide = élément du mail Or UCase(Right(objAtt.FileName, 3)) = "ZIP" Then MsgBox " [" & objAtt.FileName & "] est une image insérée ou est déjà un ZIP" & vbCr & " cette pièce ne sera pas zippée" nb_embedded = nb_embedded + 1 End If Next
Reste plus qu'à prévoir la suppression des fichiers temporaires, sauf si tu sais comment renommer les pièces jointes directement, et ensuite, je posterais tout ça...
pour la suppression
on error resume next kill repertoire & "*.*" on error goto 0
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fabrice N.
Bonjour Oliv',
avec un autre mail comportant un pdf ou .txt ca ne marche pas !! étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next kill repertoire & "*.*" on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par devenir fainéant... euh non... en fait je crois que je suis déjà devenu fainéant... ;-)
Bonjour Oliv',
avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque
d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next
kill repertoire & "*.*"
on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par
devenir fainéant... euh non... en fait je crois que je suis déjà devenu
fainéant... ;-)
avec un autre mail comportant un pdf ou .txt ca ne marche pas !! étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next kill repertoire & "*.*" on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par devenir fainéant... euh non... en fait je crois que je suis déjà devenu fainéant... ;-)
Oliv'
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@ "technicn.com"> que je salue a écrit *:
Bonjour Oliv',
avec un autre mail comportant un pdf ou .txt ca ne marche pas !! étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next kill repertoire & "*.*" on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par devenir fainéant... euh non... en fait je crois que je suis déjà devenu fainéant... ;-)
encore un peu plus alors avec cela ;-)) en utilisant REDEMPTION Filename devrait être lecture et écriture http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@
"technicn.com"> que je salue a écrit *:
Bonjour Oliv',
avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent
inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque
d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next
kill repertoire & "*.*"
on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par
devenir fainéant... euh non... en fait je crois que je suis déjà
devenu fainéant... ;-)
encore un peu plus alors avec cela ;-))
en utilisant REDEMPTION Filename devrait être lecture et écriture
http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Fabrice N." <"f.nebbia" avec l'@ "technicn.com <"f.nebbia" avec l'@ "technicn.com"> que je salue a écrit *:
Bonjour Oliv',
avec un autre mail comportant un pdf ou .txt ca ne marche pas !! étrange non ? je cherche!
Je ne te le fais pas dire... bienvenu dans notre 4ème dimension... ;-)
J'ai une fonction pour vérifier si c'est une pj ou un élemùent inséré :
Trop bien... avec tout ce que j'apprends, j'ai la tête qui risque d'exploser... ;-)
J'ai bien fait de me lever ce matin... lol
on error resume next kill repertoire & "*.*" on error goto 0
Nickel... à force de me macher le boulot comme ça, je vais finir par devenir fainéant... euh non... en fait je crois que je suis déjà devenu fainéant... ;-)
encore un peu plus alors avec cela ;-)) en utilisant REDEMPTION Filename devrait être lecture et écriture http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook Dernière chance http://www.outlookcode.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fabrice N.
Bonjour Oliv',
encore un peu plus alors avec cela ;-)) en utilisant REDEMPTION Filename devrait être lecture et écriture http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
Je t'ai vu en parler plusieurs fois sans trop y prêter attention... C'est quoi rédemption au juste ? Si j'ai bien compris, ça ajoute des instructions supplémentaires sur outlook pour le vba c'est ça ? Il y a autre chose ? C'est à installer sur chaque poste après je suppose ?
En tout cas, merci à toi et à Géo pour le coup de main que vous m'avez donner... Je vais tester tout ça et vous tiens au courant...
A+ et bon week-end à tous...
Bonjour Oliv',
encore un peu plus alors avec cela ;-))
en utilisant REDEMPTION Filename devrait être lecture et écriture
http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
Je t'ai vu en parler plusieurs fois sans trop y prêter attention...
C'est quoi rédemption au juste ?
Si j'ai bien compris, ça ajoute des instructions supplémentaires sur
outlook pour le vba c'est ça ? Il y a autre chose ?
C'est à installer sur chaque poste après je suppose ?
En tout cas, merci à toi et à Géo pour le coup de main que vous m'avez
donner...
Je vais tester tout ça et vous tiens au courant...
encore un peu plus alors avec cela ;-)) en utilisant REDEMPTION Filename devrait être lecture et écriture http://www.dimastr.com/redemption/rdo/RDOAttachment.htm
Je t'ai vu en parler plusieurs fois sans trop y prêter attention... C'est quoi rédemption au juste ? Si j'ai bien compris, ça ajoute des instructions supplémentaires sur outlook pour le vba c'est ça ? Il y a autre chose ? C'est à installer sur chaque poste après je suppose ?
En tout cas, merci à toi et à Géo pour le coup de main que vous m'avez donner... Je vais tester tout ça et vous tiens au courant...
A+ et bon week-end à tous...
Geo
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une carte de visite et bien en changeant le displayname le FileName changeait aussi (après avoir fermé puis réouvert le mail) par contre avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Le plus beau c'est que le DisplayName a changé, mais pas le nom affiché dans le courriel. Alors qu'on aurait pu penser que c'était la même chose. Merci pour la précision sur les doublons possibles, ça ne m'était pas venu à l'idée.
-- A+
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une carte de
visite et bien en changeant le displayname le
FileName changeait aussi (après avoir fermé puis réouvert le mail) par contre avec un
autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Le plus beau c'est que le DisplayName a changé, mais pas le nom affiché
dans le courriel. Alors qu'on aurait pu penser que c'était la même
chose.
Merci pour la précision sur les doublons possibles, ça ne m'était pas
venu à l'idée.
chose étrange j'ai fait le test avec un mail au hazard comportant en pj une carte de visite et bien en changeant le displayname le FileName changeait aussi (après avoir fermé puis réouvert le mail) par contre avec un autre mail comportant un pdf ou .txt ca ne marche pas !!
étrange non ? je cherche!
Le plus beau c'est que le DisplayName a changé, mais pas le nom affiché dans le courriel. Alors qu'on aurait pu penser que c'était la même chose. Merci pour la précision sur les doublons possibles, ça ne m'était pas venu à l'idée.