Dimanche 24 Septembre 2017  
Navigation
FAQ Outlook
» Foire Aux Questions «
Recherche
Téléchargements
Forums Outlook
Plan du site
Liens
Login

Les inscriptions sont fermées

Pseudo

Mot de passe

Se souvenir de moi



Mot de passe oublié ? Mot de passe oublié ?
Connexions
Bienvenue à [FAMACLUB]
le 1,414ème membre
Visiteurs en ligne : 1
Membres en ligne : 0

 EMERGENCY 8 semaines
 callaghi 10 semaines
 JièL 12 semaines
 zorro71 17 semaines
 Alphator 35 semaines
 ande 40 semaines
 Oliv 42 semaines
 cubitus 46 semaines
 angel 56 semaines
 Quartzkyte 65 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:3 221
En ligne :1
Max. en ligne:312
Max. / jour:66 529
Total hier:4 269
Total ce mois:124 268
Total visites:18 327 663
Moyenne/jour:5 660

Dernières 24h

























Publicité ; elle permet de financer le site
Navigation parmi les catégories/articles
« Catégorie     Q15000 Macros - VBA (41)  Catégorie »
[<<]  « Article  Article »  [>>]
R15200 [VBA] Enregistrer en .msg
Enregistre  le mail, le contact, la tâche ou le rdv en cours en fichier .msg dans un dossier de l'explorateur.

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
 
'Ici on construit le nom du fichier qui sera créé
NomExport = objCurrentMessage.Subject & objCurrentMessage.CreationTime
 
'Ici on définit le répertoire où l'enregistrer
repertoire = "c:\temp\"
'repertoire = BrowseForFolder("Choisissez la destination", SDossier(5, 0)) & "\"
 
'Ici on supprime les caractères non autorisés dans les noms de fichiers
PathNomExport = repertoire & "Email " & Left(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace( _
NomExport,
"\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), ".", ""), """", ""), vbTab, ""), Chr(7), ""), 160) & ".msg"
 
'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
 
Sub LanceSurOuvert()
sav_mail_as_msg
End Sub
 
 
Sub LanceSurSelection()
Dim MonOutlook As Outlook.Application
Dim LeMail As Object
Dim LesMails As Outlook.Selection
Set MonOutlook = Outlook.Application
 
Set LesMails = MonOutlook.ActiveExplorer.Selection
 
   
For Each LeMail In LesMails
    sav_mail_as_msg LeMail
   
Next LeMail
 
Set LesMails = Nothing
MsgBox "Fin de traitement"
End Sub


Il faut exécuter LanceSurOuvert à partir de l'élément ouvert ou LanceSurSelection à partir d'une sélection d'éléments.

Pour choisir directement le dossier où enregistrer le fichier copié
dans un autre module ou avant la macro ci-dessus la fonction BrowseForFolder se trouvant là :


http://www.c2i.fr/code.asp?IDCode=1083

Publié par Oliv le jeudi 15 février 2007 18:21 3 Commentaires 25988 Lecture(s) Imprimer
Commentaires
#1 | Snejena le jeudi 19 février 2009 16:56
Oliv, merci pour ce code mais je n'arrive pas à accèder à celui sur http://www.c2i.fr/code.asp?IDCode=1083

Merci
#2 | JièL le jeudi 19 février 2009 19:31
C'est le souci avec les liens externes, les sites changent et nous on ne suit pas
#3 | Paul73 le lundi 14 février 2011 11:58
Merci beaucoup pour ce bout de script, il a marché au premier coup, et il va me rendre de grand service.

Pour mettre la bon format de date, je remplace "objCurrentMessage.CreationTime" par "Format(objCurrentMessage.CreationTime, "yyyy-mm-dd" )"
Copyright et partage
Ce site est sous licence Creative Commons.
Vous pouvez utiliser toutes les informations présentent ici, mais il vous est interdit de les reproduire sans citer la source.

Creative Commons License
OUI au partage
NON au « copillage »

Ajouter aux favoris / partager : 
URL :
BBcode :
HTML :
Cliquez ci dessus sur le lien que vous voulez copier et [Ctrl] + [C] ou cliquez sur le bouton [ C ]
Articles similaires
Articles Catégories
R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception Q15000 Macros - VBA
R15930 [VBA] Création de menu dans outlook Q15000 Macros - VBA
R15380 [VBA] Envoi via VBA : suppression de la confirmation d'envoi Q15000 Macros - VBA
R15280 [VBA] Exporter un mail et l'ouvrir dans IE avec ses images Q15000 Macros - VBA
R15930 [VBA] Eliminer les doublons Q15000 Macros - VBA
Nuage de tags
R01010 Définir Outlook comme messagerie par défaut, R06050 Ouvrir un dossier d'archive (ou un autre .PST), R13030 Créer une tâche, R03070 Créer son papier à lettres personnel, R99460 Vous hésitez encore ?, R17004 Etapes permettant l'utilisation d'un formulaire, R01220 Ajouter MSMail à Outlook 2002/2003, R15930 [VBA] Création de menu dans outlook, R08200 Cette opération a été annulée à cause de restrictions en vigueur sur cet ordinateur. Contactez votre administrateur système., R13040 Définir une tâche répétitive, R17001 Principes sur les formulaires, R99460 Vous hésitez encore ?, R12090 Ajouter les jours fériés Français jusqu'en 2012 pour Outlook 2002/2003, R09140 Masquer les destinataires les uns des autres, R12060 Répondre à une invitation

aucun Crack, CrackZ, no-CD, DownloadZ, TelechargementZ, Serial, Numéro de série, N0 de série, Serialz ni Keygen pour Outlook sur ce site.

Blague aléatoire
Publicité
Météo Marseille
[/\] Copyright JièL / Jean-Louis Goubert © 2003-2009 [/\]