Automatiser la fonction export dans outlook

Résolu
cs_sev54 Messages postés 3 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 février 2005 - 24 janv. 2005 à 17:28
cs_sev54 Messages postés 3 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 février 2005 - 3 févr. 2005 à 16:57
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

cs_sev54 Messages postés 3 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 février 2005
3 févr. 2005 à 16:57
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
cs_sev54 Messages postés 3 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 février 2005
26 janv. 2005 à 10:39
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
0
Rejoignez-nous