Certains utilisateurs espèrent enregistrer automatiquement les journaux des e-mails imprimés dans leur Outlook. Cependant, il n'y a pas une telle fonctionnalité directe disponible. Par conséquent, dans cet article, nous présenterons un moyen de consigner automatiquement chaque e-mail imprimé dans un classeur Excel spécifique.
Pour certaines raisons, vous devrez peut-être enregistrer les informations d'un e-mail lorsque vous l'imprimez. De toute évidence, Outlook ne fournit pas de fonctionnalité native prenant en charge cela. Ainsi, en général, vous devez accomplir manuellement cette tâche. Néanmoins, avec l'aide du code VBA, vous pouvez toujours laisser votre Outlook entreprendre cette mission en toute simplicité. Maintenant, nous allons découvrir ici un tel morceau de code VBA et des étapes détaillées pour vous.
Enregistrer automatiquement chaque e-mail imprimé dans un classeur Excel
- Pour commetart, lancez l'application Outlook.
- Ensuite, accédez à l'éditeur VBA en cliquant sur le bouton "Visual Basic" dans l'onglet "Développeur".
- Ensuite, placez le code VBA suivant dans un module inutilisé.
Sub RecordPrintedEmails()
Dim objMail As Outlook.MailItem
Dim objExcelApp As Excel.Application
Dim strExcelFile As String
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim nNextEmptyRow As Integer
'Get the mail
Select Case Outlook.Application.ActiveWindow.Class
Case olInspector
Set objMail = ActiveInspector.CurrentItem
Case olExplorer
Set objMail = ActiveExplorer.Selection.Item(1)
End Select
objMail.PrintOut
On Error Resume Next
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
'Change the path to the specific excel file
strExcelFile = "E:\Emails\Printed Emails.xlsx"
Set objExcelWorkbook = objExcelApp.Workbooks.Open(strExcelFile)
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
objExcelWorksheet.Activate
nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Change the details as per your own case
With objExcelWorksheet
.Cells(nNextEmptyRow, 1) = Date
.Cells(nNextEmptyRow, 2) = objMail.Subject
.Cells(nNextEmptyRow, 3) = objMail.Sender
.Cells(nNextEmptyRow, 4) = objMail.SentOn
.Cells(nNextEmptyRow, 5) = objMail.Size
.Cells(nNextEmptyRow, 6) = objMail.Attachments.Count
.Columns("A:E").AutoFit
End With
objExcelWorkbook.Close True
objExcelApp.Quit
End Sub
- Après cela, quittez l'éditeur VBA.
- Par la suite, selon l'« Étape facultative » de la post "Comment exécuter le code VBA dans votre Outlook", ajoutez cette macro au ruban ou à la barre d'outils d'accès rapide.
- Depuis lors, chaque fois que vous souhaitez imprimer un e-mail, n'oubliez pas d'utiliser le bouton macro nouvellement ajouté au lieu du bouton "Imprimer" standard.
- De cette façon, Outlook enregistrera automatiquement le courrier imprimé dans la feuille de calcul Excel prédéfinie.
Gardez le fichier Outlook accessible
Parfois, après le blocage d'Outlook, vous pouvez recevoir l'erreur indiquant que le fichier PST est inaccessible. À ce moment-là, vous devez vous calmer, puis utiliser l'outil de réparation de la boîte de réception pour réparer Outlook. Cependant, l'utilitaire intégré n'est pas polyvalent. Cela peut aussi échouer. Par conséquent, si votre fichier PST n'est toujours pas disponible après la réparation de Scanpst, votre dernier recours est un outil externe plus efficace et fiable, tel que DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupération mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com



