Passer au contenu principal

Comment enregistrer plusieurs e-mails sélectionnés en tant que fichiers MSG en masse dans Outlook?

Il est facile d'enregistrer un e-mail sous forme de fichier MSG dans Outlook. Comment enregistrer plusieurs e-mails sélectionnés en tant que fichiers MSG individuels en masse dans Outlook? Cet article vous montrera une méthode pour y parvenir.

Enregistrer plusieurs e-mails sélectionnés en tant que fichiers MSG avec le code VBA


Enregistrer plusieurs e-mails sélectionnés en tant que fichiers MSG avec le code VBA

Le code VBA suivant peut vous aider à enregistrer plusieurs e-mails sélectionnés en tant que fichiers MSG individuels en masse dans Outlook. Veuillez faire comme suit.

1. Sélectionnez les e-mails que vous souhaitez enregistrer en tant que fichiers MSG. Appuyez ensuite simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insertion> Module, puis copiez sous le code VBA dans la fenêtre Module.

Code VBA: enregistrez plusieurs e-mails sélectionnés en tant que fichiers MSG individuels dans Outlook

Public Sub SaveMessageAsMsg()
'Update by Extendoffice 2018/3/5
Dim xMail As Outlook.MailItem
Dim xObjItem As Object
Dim xPath As String
Dim xDtDate As Date
Dim xName, xFileName As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xFileName = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xObjItem In Outlook.ActiveExplorer.Selection
    If xObjItem.Class = olMail Then
        Set xMail = xObjItem
        xName = xMail.Subject
        xDtDate = xMail.ReceivedTime
        xName = Format(xDtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
          vbUseSystem) & Format(xDtDate, "-hhnnss", _
          vbUseSystemDayOfWeek, vbUseSystem) & "-" & xName & ".msg"
        xPath = xFileName + xName
        xMail.SaveAs xPath, olMSG
    End If
Next
End Sub

3. Appuyez sur la touche F5 pour exécuter le code.

4. Dans la boîte de dialogue Rechercher un dossier, spécifiez un dossier pour enregistrer les fichiers MSG, puis cliquez sur le bouton OK. Voir la capture d'écran:

Maintenant, tous les e-mails sélectionnés sont enregistrés en tant que fichiers MSG individuels, comme illustré ci-dessous.


Enregistrez facilement les e-mails sélectionnés sous différents formats de fichiers dans Outlook:

Avec la Économisez en vrac utilité de Kutools for Outlook, vous pouvez facilement enregistrer plusieurs e-mails sélectionnés en tant que fichier au format HTML individuel, fichier au format TXT, document Word, fichier CSV ainsi que fichier PDF dans Outlook, comme illustré ci-dessous. Téléchargez et essayez-le maintenant! (essai gratuit de 60 jours)


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
It doesn't seem to work when emails are displayed in conversation mode or from a Group folder.
This comment was minimized by the moderator on the site
Hi, i am new to macro. i am looking for a macro that allows me to save the filename, not by subject or time. But by the reference # found inside the email body. This macro works well when i save multiple emails into my folder. But as i want each email to be saved using the reference #, would you have a macro for it? The reference # is found on the 6th row of the emails body (REF : WL344ET2), that i received everyday. Appreciate if anyone can help on this and thank you in advance.
This comment was minimized by the moderator on the site
When there is a ":" in the subject, this code cannot copy the whole subject to be the name of the saved message, is there any way to solve this problem?
This comment was minimized by the moderator on the site
change line 21 to xName="". The saved message filname will not include the subject anymore.
This comment was minimized by the moderator on the site
A better way is to always replace ":" with blanks adding this line under xName = xMail.Subject

xName = Replace(xName, ":", "")
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations