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

Outlook Discussion :

Enregistrement mail sur disque dur ou serveur.


Sujet :

Outlook

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Enregistrement mail sur disque dur ou serveur.
    Bonjour à tous,

    Je viens de migrer sur la version 2016 pour le pack Microsoft.
    J'utilisais pour les versions précédente la macro de 'By Oliv' juillet 2007 pour OUTLOOK 2003 qui fonctionnait parfaitement (pour enregistrer des MAILS spécifique sur un serveur.
    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
    Sub sav_mail_as_msg(Optional objCurrentMessage As Object)
    'By Oliv' juillet 2007 pour OUTLOOK 2003
     
        If objCurrentMessage Is Nothing Then Set objCurrentMessage = ActiveInspector.CurrentItem
    Dim MSG
    MSG = InputBox("Mentionnez la référence du mail : ")
        'Ici on construit le nom du fichier qui sera créé
        NomExport = MSG 'objCurrentMessage.Subject & objCurrentMessage.CreationTime
     
        'Ici on défini le répertoire où l'enregistrer
        repertoire = "ADRESSE DU SERVEUR " 'Par principe de confidentialité je ne peux le mentionner mais fonctionne parfaitement avec une adresse IP
        'repertoire = BrowseForFolder("Choisissez la destination", SDossier(5, 0)) & "\"
     
        'Ici on supprime les caractères non autorisé dans les noms de fichiers
        PathNomExport = repertoire & Left(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace( _
        NomExport, "\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), "$", ""), """", ""), vbTab, ""), Chr(7), ""), 160)
     
        'Ici on vérifie que le fichier n'existe pas déjà sinon il serait écrasé
        n = 1
        MemPath = PathNomExport
        While Dir(PathNomExport) <> ""
            MsgBox "Le fichier " & vbCr & PathNomExport & vbCr & "existe déjà", vbInformation
            PathNomExport = Left(MemPath, Len(MemPath) - 4) & "(" & n & ")" & ".msg"
            n = n + 1
     
        Wend
        objCurrentMessage.SaveAs PathNomExport, OlSaveAsType.olMSG
     
    End Sub
    Hors depuis au lancement de la programmation il m'affiche le message suivant :
    Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie
    et me surligne (après débogage) le texte suivant : Set objCurrentMessage = ActiveInspector.CurrentItem

    Y-a-t-il une solution ? j'ai aussi chercher la Outils Références .... mais rien.

    Merci pour vos réponses à venir.
    et1000lio

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    L'email est il bien ouvert (en dehors du mode inline ?)

    Essaye en utilisant cette fonction



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function GetCurrentItem() As Object
        Dim objApp As Outlook.Application
     
        Set objApp = Application
        On Error Resume Next
        Select Case TypeName(objApp.ActiveWindow)
            Case "Explorer"
                Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
            Case "Inspector"
                Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
        End Select
     
        Set objApp = Nothing
    End Function

    là (ligne 4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If objCurrentMessage Is Nothing Then Set objCurrentMessage = GetCurrentItem

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    BRAVO et Merci Oliv-

    Oui le mail à enregistrer est OUVERT, ça fonctionne parfaitement maintenant. Encore merci car tu m'enlèves une épine du pied car on s'habitue vite au tâche qui nous font gagner du temps.

    Ce serait bien d'ajouter ce bout de code à http://outlook.developpez.com/faq/?page=VBA à la rubrique Comment enregistrer mes messages sur mon disque dur ?

    Emile

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Salut,

    J'avais il y a quelques temps mis en place une règle Outlook dont l'une des actions lançait un script de ce genre afin d'enregistrer le mail sur un serveur.
    Depuis peu, les règles outlook n'offrent plus la possibilité de lancer des scripts.
    Quelles solutions de contournement avez-vous adoptées pour palier à cette évolution de Outlook ?

Discussions similaires

  1. [Débutant] Enregistrer image sur disque dur
    Par chdone dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 04/05/2012, 15h43
  2. [OL-2002] enregistrer message sur disque dur
    Par ptibaz dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 19/10/2011, 13h18
  3. Impression fichier enregistré sur disque dur.
    Par Kramelix dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/11/2007, 15h34
  4. enregistrement fenetre sur disque dur
    Par ropars dans le forum C++
    Réponses: 1
    Dernier message: 04/07/2006, 11h29
  5. [GD] Enregistrer une image générée par PHP sur disque dur
    Par Alex01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 11h16

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