Creer un rendez vous par VBA lors de l'envoi d'un email

Le
Thierry
Bonjour,

J'essaye desesperement de creer automatiquement un rendez vous 2 semaines
apres l'envoi d'un email. enfin seulement lorsque j'ai une pice jointe
commencant par "OP".

Comment peux t'on y arriver. je n'arrive pas consulter le noms des pieces
jointes de l'email en cours.

Merci bcp!

Thierry
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Geo
Le #339955

Bonjour,

J'essaye desesperement de creer automatiquement un rendez vous 2 semaines
apres l'envoi d'un email. enfin seulement lorsque j'ai une pice jointe
commencant par "OP".

Comment peux t'on y arriver. je n'arrive pas consulter le noms des pieces
jointes de l'email en cours.

Merci bcp!


Faire un for each sur les attachements du courriel, le nom de fichier
est la propriété finename.
Qqch comme :

for each PJ in MonCourriel.attachements
if left (pj.filename, 2) = "OP" then ...
next

--
A+

Thierry
Le #339954
Merci,

J'ai une petite question: MonCourriel est un objet déjà existant dans VBA?

Il faut donc que je mette ce code dans l'évenement send?

Merci bcp en tout cas



Bonjour,

J'essaye desesperement de creer automatiquement un rendez vous 2 semaines
apres l'envoi d'un email. enfin seulement lorsque j'ai une pice jointe
commencant par "OP".

Comment peux t'on y arriver. je n'arrive pas consulter le noms des pieces
jointes de l'email en cours.

Merci bcp!


Faire un for each sur les attachements du courriel, le nom de fichier
est la propriété finename.
Qqch comme :

for each PJ in MonCourriel.attachements
if left (pj.filename, 2) = "OP" then ...
next

--
A+






Geo
Le #339931

J'ai une petite question: MonCourriel est un objet déjà existant dans VBA?


Non non, un objet en français ça ferait désordre en Amérique.
C'est un objet de type MailItem :
Dim MonCourriel As MailItem

Il faut donc que je mette ce code dans l'évenement send?


Send n'est pas un événement c'est une méthode, si vous envoyez vos
courriels en VBA, vous pouvez le faire à cette occasion, mais amha il
doit y avoir plus simple.
Si vous envoyez vos courriels normalement, à la main, utilisez une
macro Application_ItemSend dans ThisOutlOokSession.

--
A+

Oliv'
Le #339926
*Geo

J'ai une petite question: MonCourriel est un objet déjà existant
dans VBA?


Non non, un objet en français ça ferait désordre en Amérique.
C'est un objet de type MailItem :
Dim MonCourriel As MailItem

Il faut donc que je mette ce code dans l'évenement send?


Send n'est pas un événement c'est une méthode, si vous envoyez vos
courriels en VBA, vous pouvez le faire à cette occasion, mais amha il
doit y avoir plus simple.
Si vous envoyez vos courriels normalement, à la main, utilisez une
macro Application_ItemSend dans ThisOutlOokSession.


Si tu utilises l'événement Application_ItemSend en principe le mail en cours
d'envoi sera défini par la variable objet "item"

donc on aura du genre:

for each PJ in item.attachements
if left (pj.filename, 2) = "OP" then
'mon code ...
exit for
end if
next

C'est la fonction assurer un suivi que tu veux activer ?


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les macros Outlook : http://faq.outlook.free.fr/articles.php?cat_id
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Oliv'
Le #339925

Si tu utilises l'événement Application_ItemSend en principe le mail
en cours d'envoi sera défini par la variable objet "item"

donc on aura du genre:

for each PJ in item.attachements
if left (pj.filename, 2) = "OP" then
'mon code ...
exit for
end if
next

C'est la fonction assurer un suivi que tu veux activer ?



Si c'est oui :


item.FlagDueBy = #12/10/2007#
item.FlagStatus = olFlagMarked
item.FlagRequest = "Assurer un suivi"



--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les macros Outlook : http://faq.outlook.free.fr/articles.php?cat_id
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Thierry
Le #340394
Salut les gars,

Désolé je rentre de vacances juste...

Merci pour vos messages.

J'ai mis le code suivant

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim PJ As Attachment

For Each PJ In Item.attachements
If Left(PJ.FileName, 2) = "OD" Then
MsgBox "OK"
Exit For
End If
Next


End Sub

ça marche pas, dans un premier temps je met une MsgBox "OK" pour vérifier le
fonctionnement mais en effet je veux faire un suivi.

CAD, quand j'envoie une offre à un client (qui commence par OD toujours) je
veux qu'il me crée un rendez vous 1 semaine plus tard avec l'offre attaché.

Merci encore!!!




Si tu utilises l'événement Application_ItemSend en principe le mail
en cours d'envoi sera défini par la variable objet "item"

donc on aura du genre:

for each PJ in item.attachements
if left (pj.filename, 2) = "OP" then
'mon code ...
exit for
end if
next

C'est la fonction assurer un suivi que tu veux activer ?



Si c'est oui :


item.FlagDueBy = #12/10/2007#
item.FlagStatus = olFlagMarked
item.FlagRequest = "Assurer un suivi"



--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les macros Outlook : http://faq.outlook.free.fr/articles.php?cat_id
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~






Geo
Le #340455

For Each PJ In Item.attachements


Marche bien chez moi avec Attachments.

--
A+

Thierry
Le #340449
Avec ce code?

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim PJ As Attachments

For Each PJ In Item.attachements
If Left(PJ.FileName, 2) = "OD" Then
MsgBox "OK"
Exit For
End If
Next


End Sub

Moi ça ne marche pas...Je comprends pas...



For Each PJ In Item.attachements


Marche bien chez moi avec Attachments.

--
A+






Geo
Le #340772

Avec ce code?


Vous l'avez mis au bon endroit ?

Ajoutez un msgbox ou un debug.print pour vous assurer que vous passez
bien par la macro.

--
A+

Oliv'
Le #340715
*Thierry
Avec ce code?


Non il y avait 2 erreurs c'est
Dim PJ As Attachment au lieu de Dim PJ As Attachments
et Attachments au lieu de Attachements comme l'avais fait remarquer GEO.

Avec ce code ca doit le faire :

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim PJ As Attachment

For Each PJ In Item.Attachments
If Left(PJ.FileName, 2) = "OD" Then
MsgBox "OK"
Item.FlagDueBy = DateAdd("d", 7, Item.CreationTime)
Item.FlagStatus = olFlagMarked
Item.FlagRequest = "Assurer un suivi"
Exit For
End If
Next

End Sub


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les macros Outlook : http://faq.outlook.free.fr/articles.php?cat_id
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Publicité
Poster une réponse
Anonyme