Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/08/2011, 18h25   #1
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Par défaut Exporter les piéces jointes.

Bonjour,

Je suis un peu dans le même cas qu'ici . j'ai utilisé le code et installé dans VBA comme le montre dans la pièce jointe. Les pièces jointes des nx mails ne se sauvegardent pas dans le répertoire désigné.

J'ai un outlook 2007

Pouvez vous m'aider ?
Merci d'avance
Images attachées
Type de fichier : jpg outlook.jpg (120,2 Ko, 6 affichages)
Type de fichier : jpg Outlook refrences.jpg (61,5 Ko, 4 affichages)
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 18h34   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
quant l'on regarde tes images (pas très lisible) on voit bien que tu n'utilise pas le même code que celui du lien .. peu-tu poste ton code est être plus clair sur ce qui ne marche pas ..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 00h20   #3
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Voici le code que j'ai mis dans "application " et "Newmail"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Application_NewMail()
 
Dim MaDatabase As NameSpace, Folder As MAPIFolder, Mail As MailItem
 
Set MaDatabase = Application.GetNamespace("MAPI")
Set Folder = MaDatabase.GetDefaultFolder(olFolderInbox)
Set Mail = Folder.Items(Folder.Items.Count)
 
For Each Attachment In Mail.Attachments
Attachment.SaveAsFile "G:\" & Attachment.FileName
Next
 
End Sub
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h04   #4
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Bonsoir,

même résultat en mettant le code dans Newmailex

Par contre, je ne vois pas le lien que vous indiquez dans le message ?

Cordialement
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h25   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Je peu pas tester de suite (pas outlook..) essai :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
 Dim tbItems
 Dim oItem As MailItem
 Dim i As Integer
 Dim Attachment ' Je sais plus le type de tête
 
 tbItems = Split(EntryIDCollection, ",")
 For i = 0 To UBound(tbItems)
   Set oItem = Session.GetItemFromID(tbItems(i))
   For Each Attachment In  oItem.Attachments
         Attachment.SaveAsFile "G:\" & Attachment.FileName
     Next
 
 
 Next
End Sub
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 22h30   #6
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Bonsoir,

J'ai toujours le même résultat

cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 22h41   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par grimgrim Voir le message
Bonsoir,

J'ai toujours le même résultat

cdlt
tu nous aide pas beaucoup en donnant toujours la même réponse...


essai de rajouter en ligne 6 :
Code :
msgbox EntryIDCollection
et entre la ligne 9 et 10 :
Code :
MSGBOX oItem.Attachments.count
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 23h01   #8
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Désolé de ne pas être plus explicite !
Je vais essayer :

J'ai inscrit les lignes complémentaires dans le VBA dans l'application Newmailex : cela donne :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim tbItems
 Dim oItem As MailItem
 Dim i As Integer
 Dim Attachment ' Je sais plus le type de tête
 MsgBox EntryIDCollection
 tbItems = Split(EntryIDCollection, ",")
 For i = 0 To UBound(tbItems)
   Set oItem = Session.GetItemFromID(tbItems(i))
   MsgBox oItem.Attachments.Count
   For Each Attachment In oItem.Attachments
         Attachment.SaveAsFile "D:\" & Attachment.FileName
     Next
 
 Next
End Sub
J'ai ensuite enregistré le programme et fermer VBA.
Pour tester, je me suis envoyé un mail avec une pièce jointe de 611ko.
Une fois le mail arrivé, je suis allé vérifié dans le DD si je trouvais le fichier
Hélas, toujours rien

Est ce bien comme cela qu'il faut s'y prendre ?

Ai je fais une erreur ?

Cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 23h09   #9
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
et donc pas de message box ?

revoir menu sécurité Macros d'outlook si celles-ci sont activées ..

Le code est bien dans ThisOutlookSession
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 23h18   #10
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
A la réception du mail, rien ni avant ni après
Pour consulter la sécurité, il faut aller dans Outils/macros/sécurité/sécurité des macros. Il est positionné à "Avertissement pour les macros signées, ..."

J'ai positionné sur "aucun controle ..." et refais le même test.

Désolé de le dire toujours rien, pas de messages

Cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 07h58   #11
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
ou as tu mis ce code ..?
tu n'as pas à saisir le nom de la fonction tu peu le sélectionner dans les deux listes au dessus de ta fenêtre de code ThisOutlookSession
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 19h45   #12
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Bonsoir,

J'avais modifié hier la macro sécurité en cochant "aucun controle..." au lieu de "avertissements pour les macros signés..."
Or, hier, je n'avais pas fermer et réouvert outlook.
Et aujourd'hui, cela fonctionne

je l'avais bien mis dans "thisoutlooksession" dans l'application "NewMailex"

Merci beaucoup

Par contre, maintenant, je voudrais le mettre à partir d'une règle

Cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 20h03   #13
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par grimgrim Voir le message
.....
Par contre, maintenant, je voudrais le mettre à partir d'une règle
...
.... ben c'était l'objet de la discussion initiale et tu n'as pas utilisé le bon code. ..



Code :
1
2
3
4
5
6
7
8
9
10
'
' Sauvegarde pièces jointes
'
Sub SauvePieceJointes(Item As Outlook.MailItem)
 Const REP_DEST = "D:\tmp\pj\" 'Répertoire de destination
 Dim Attachment As Outlook.Attachment
 For Each Attachment In Item.Attachments 'ATTENTION je ne traite pas les piéces jointes "embarquées" à voir si cela cause problémes..
         Attachment.SaveAsFile REP_DEST & Attachment.FileName 'Si le fichier existe déjà il est écrasé
 Next
End Sub
ensuite tu crée une règle permettant d'exécuter un script et tu sélectionne ce script..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 21h51   #14
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
ok je vais tester

Cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2011, 16h19   #15
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Ok cela fonctionne

A priori, mon pbre était au niveau de de la sécurité des macros
merci beaucoup
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 23h09   #16
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Par défaut Sauvegarde pièce jointe

Bonsoir,

Voici le code que j'ai mis dans une macro :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Maximo_SFR(Item As Outlook.MailItem)
 
 Dim tbItems
 Dim oItem As MailItem
 Dim i As Integer
 Dim Attachment
 
 
tbItems = Split(EntryIDCollection, ",")
MsgBox "Arrivée mail MAG Maximo"
 
 For i = 0 To UBound(tbItems)
 Set oItem = Session.GetItemFromID(tbItems(i))
 
 For Each Attachment In oItem.Attachments
 Attachment.SaveAsFile "D:\DATAN\Test\Temp\MAG-TDF.XLS" & Attachment.FileName
 
  Next
 
 Next
 
 MsgBox "Arrivée mail MAG Maximo"
End Sub
Ce code est positionné dans un module et est déclenché par une régle

Lorsque la régle est déclenchée, le premier message s'affiche et ensuite le deuxième. Par contre, le fichier ne se met pas à jour

Avez vous une idée ?

Merci d'avance
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 22h38   #17
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Ta construction du nom de fichier est bizarre et surement à revoir..

sinon place un message box dans ta boucle For Each... voir si tu passe bien par la ...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 20h24   #18
Invité régulier
 
Inscription : octobre 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 28
Points : 6
Points : 6
Bonsoir

J'ai fait ce que vous m'avez dit.

Pas de deuxième fenêtre qui s'ouvre

Cdlt
grimgrim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 23h44   #19
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
et d'ou vient ta variable
Dans tout les codes VBA .. il est obligatoire (surtout lorsqu'on est débutant) de trouver sur la première ligne du module :
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 00h16   #20
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 591
Points : 1 591
Envoyer un message via MSN à carden752
Bonjour,

Autre remarque tu passes en paramètre de la fonction un objet Mailitem et tu ne l'utilises jamais.
Cela doit aussi t'interroger désormais puisque le paramètre servirait alors à rien.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h31.


 
 
 
 
Partenaires

Hébergement Web