Automatiser la fonction export dans outlook

Résolu
Signaler
Messages postés
3
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
3 février 2005
-
Messages postés
3
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
3 février 2005
-
je dois automatiser la fonction export vers Excell ou Access des mails contenus dans un certain dossier
lorsque je cherche dans l'aide, je ne trouve que la manipulation par l'assistant soit celle que je dois automatisée (fichier --> menu importer --> exporter...)

si quelqu'un a la solution, d'avance merci

sev

2 réponses

Messages postés
3
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
3 février 2005

Voila le code que j'ai trouvé :

************************************************
Sub Export_MailsOutlook()
'la référence Microsoft Outlook 9.0 Object Library est activée
Dim olApp As New Outlook.Application
Dim Cible As Outlook.MailItem
Dim Piece As Attachment
Dim dossierMail As Outlook.MAPIFolder
Dim destFolder


'nécessite d'activer la référence Microsoft DAO 3.6 Object Library
Dim dbs As Database
Dim rs As DAO.Recordset
Dim QD As QueryDef


'ouverture d'Access
Set AccessApp = CreateObject("access.application")
AccessApp.OpenCurrentDatabase ("c:\[mondossier]\[mabase].mdb")
Set dbs = AccessApp.CurrentDb


Set olApp = New Outlook.Application
Set dossierMail = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("[dossier_source]")
Set destFolder = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("[dossier_destinataire]")


For Each Cible In dossierMail.Items


'remplacement des caractères interdits dans les noms de dossier Windows
Cible = Replace(Cible, "", "", 1)
Cible = Replace(Cible, "/", "", 1)
Cible = Replace(Cible, ":", "", 1)
Cible = Replace(Cible, "*", "", 1)
Cible = Replace(Cible, "?", "", 1)
Cible = Replace(Cible, """", "", 1)
Cible = Replace(Cible, "<", "", 1)
Cible = Replace(Cible, ">", "", 1)
Cible = Replace(Cible, "|", "", 1)

' on appelle la fonction qui eclate le sujet et retourne les éléments nécessaires pour la base
ExploseSujet (Cible.Subject)

'on insert les éléments
dbs.Execute "INSERT INTO [matable] ([champ1], [champ2], [champ3], [champ4], [champ5], [champ6], [champ7], [champ8]) VALUES ('" & [valeur1] & "','" & [valeur2] & "','" & [valeur3] & "','" & [valeur4] & "','" & [valeur5] & "','" & [valeur6] & "','" & [valeur7] & "','" & [valeur8] & "');"


'on crée le chemin et le nom du dossier
CheminDossier = "F:" & [valeur1] & "" & [valeur2] & "" & [valeur3] & "" & [valeur4] & "" & [valeur5] & ""

Cible.SaveAs CheminDossier & Cible & ".msg", 3

'on déplace le mail dans un autre dossier
Cible.Move (destFolder)


Next Cible


End Sub
***********************************************************

si ça peut servir à quelqu'un

merci à tous
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
3 février 2005

personne n'a su me répondre pour l'instant

chez microsoft, j'ai trouvé un article qui, pour résumer, dit que "on ne peut pas automatiser l'Assistant Importation/Exportation"

le lien pour aller le lire :
http://support.microsoft.com/default.aspx?scid=kb;fr;306067

donc je modifie ma question : quelqu'un saurait il comment aller récupérer les éléments dans Outlook mais depuis Access ?

d'avance merci

Sev