IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Conversion de fichiers *.msg en *.html


Sujet :

VBA Outlook

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    GESTIONNAIRE
    Inscrit en
    novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GESTIONNAIRE
    Secteur : Transports

    Informations forums :
    Inscription : novembre 2016
    Messages : 30
    Points : 26
    Points
    26
    Par défaut Conversion de fichiers *.msg en *.html
    Bonjour,
    Pour des raisons pratiques, je souhaiterai convertir un grand nombre de fichiers msg en html, on parle de 5000 elements tout de même
    Ces mails donc au formats msg se trouve dans un répertoire TEST MAIL
    D'où le code VBA suivant que j'exécute depuis Outlook,
    Le problème survient à la ligne Set Cemail = ActiveInspector.CurrentItem

    J'aimerai aussi fermer le mail ouvert avant de passer au suivant sinon ma RAM risque de ne pas apprécier !
    est ce que quelqu'un aurait une idée ? ou même une autre suggestion comme une impression en pdf par exemple?
    Merci d'avance à tous et bonne journée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub ConvertMsgToHTML()
    Dim Fich As String, Texte As String
    Dim MonApplication As Object
    Dim Cemail As Outlook.MailItem
     
     
    Const Chemin = "C:\TEST MAIL\"    'on indique le répertoire où se trouve les mails à convertir
    Fich = Dir(Chemin & "*.msg")            'on détermine les fichiers à trouver
     
    Do While Fich <> ""                     'on boucle
     
        Set MonApplication = CreateObject("Shell.Application")
        MonApplication.Open (Chemin & Fich) ' on ouvre le fichier msg
     
        Texte = Fich 'on récupere le nom de fichier pour s'en servir lors du process d'enregistrement
     
        Set Cemail = ActiveInspector.CurrentItem 'on alimente la variable ce mail avec le mail précédemment ouvert
        Cemail.SaveAs "C:TEST MAIL\" & Texte & ".html", OlSaveAsType.olHTML 'on l'enregistre au format html dans le répertoire d'origine
     
        'puis on ferme et on passe au suivant
        'ici je n'ai aucune idée du code qui permettrait la fermeture du mail juste ouvert
     
        Fich = Dir
    Loop 'on passe au fichier suivant
     
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 803
    Points : 2 975
    Points
    2 975
    Par défaut
    Bonjour,

    Il faudrait sans doute initialiser l'Inspector:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim myinspector As Outlook.Inspector 
        Set myinspector = Application.ActiveInspector
        ...
        Set Cemail = myinspector.CurrentItem
        Cemail.SaveAs chemin & Texte & ".html", OlSaveAsType.olHTML
        Cemail.Close olDiscard
        ...
    Cordialement.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    GESTIONNAIRE
    Inscrit en
    novembre 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GESTIONNAIRE
    Secteur : Transports

    Informations forums :
    Inscription : novembre 2016
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    Bonjour EricDgn et merci de ton intervention,
    ça m'a aiguillé sur d'autres discussions, j'ai continué à creuser et je suis tombé sur une ligne de code qui m'a permis de réaliser ce que je cherchai sur mes 5000 mails,
    A toute fin utile et afin d'aider la communauté, je laisse à dispo le code ci-dessous, à noter que le code ne tient pas compte ici des pièces jointes.
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub ConvertMsgToHTML()
       Dim Chemin As String, Fich As String
        Dim objOL As Object
     
        Set objOL = CreateObject("Outlook.Application")
        Dim Msg As Object
     
        'Définit le répertoire contenant les fichiers
        Chemin = "C:\TEST MAIL\"
     
        'Boucle sur tous les fichiers xls du répertoire.
        Fich = Dir(Chemin & "*.msg")
     
        Do While Len(Fich) > 0 'on boucle sur les fichiers
     
            Set Msg = objOL.Session.OpenSharedItem(Chemin & "\" & Fich) 'on initialise notre objet(mail) avec la fonction OpenSharedItem
            ' on peut maintenant utiliser les éléments de l'email msg
            Msg.SaveAs "C:\TEST MAIL\" & Fich & ".html", OlSaveAsType.olHTML 'on l'enregistre au format html dans le répertoire d'origine
     
            Set Msg = Nothing 'on remet à 0 notre objet
     
            'lors du processus de conversion du msg en html, un répertoire est créé, ici on le vide et on le supprime
            Kill ("C:\TEST MAIL\" & Fich & "_fichiers\*.*")
     
            RmDir "C:\TEST MAIL\" & Fich & "_fichiers"
     
            Fich = Dir() 'msg suivant
        Loop
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion de fichiers Word .docx en HTML
    Par redguts dans le forum Documents
    Réponses: 3
    Dernier message: 03/01/2013, 15h35
  2. Conversion d’un fichier QIF en fichier HTML
    Par nidar dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 11/05/2011, 23h42
  3. Conversion fichier doc en html
    Par mikees dans le forum PL/SQL
    Réponses: 0
    Dernier message: 17/11/2008, 17h57
  4. [LabView-MATLAB] Conversion de fichier binaire
    Par flzox dans le forum LabVIEW
    Réponses: 3
    Dernier message: 20/01/2007, 18h42
  5. conversion de fichier Excel en csv ,
    Par bounette dans le forum Excel
    Réponses: 2
    Dernier message: 26/01/2005, 08h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo