Alcuni utenti sperano di salvare automaticamente i registri delle e-mail stampate nel loro Outlook. Tuttavia, non è disponibile una funzione così diretta. Pertanto, in questo articolo, introdurremo un modo per registrare automaticamente ogni e-mail stampata in una specifica cartella di lavoro di Excel.
Per alcuni motivi, potrebbe essere necessario registrare le informazioni di un'e-mail quando la si stampa. Ovviamente, Outlook non fornisce una funzionalità nativa che lo supporti. Pertanto, in generale, è necessario eseguire manualmente questa attività. Tuttavia, con l'aiuto del codice VBA, puoi comunque lasciare che Outlook intraprenda questa missione con facilità. Ora, qui scopriremo un tale pezzo di codice VBA e passaggi dettagliati per te.
Registra automaticamente ogni e-mail stampata nella cartella di lavoro di Excel
- Per cometart, avvia l'applicazione Outlook.
- Quindi, accedi all'editor VBA facendo clic sul pulsante "Visual Basic" nella scheda "Sviluppatore".
- Quindi, inserisci il seguente codice VBA in un modulo inutilizzato.
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
- Successivamente, esci dall'editor VBA.
- Successivamente, secondo il “Passaggio Facoltativo” a pagost "Come eseguire il codice VBA in Outlook", aggiungi questa macro alla barra multifunzione o alla barra di accesso rapido.
- Da allora, ogni volta che desideri stampare un'e-mail, ricordati di utilizzare il pulsante macro appena aggiunto anziché lo standard "Stampa".
- In questo modo, Outlook registrerà automaticamente la posta stampata nel foglio di lavoro Excel predefinito.
Mantieni accessibile il file di Outlook
A volte, dopo l'arresto anomalo di Outlook, potresti ricevere l'errore che indica che il file PST è inaccessibile. A quel punto, dovresti calmarti e quindi utilizzare lo strumento di riparazione della posta in arrivo per riparare Outlook. Tuttavia, l'utilità integrata non è versatile. Può anche fallire. Quindi, se il tuo file PST non è ancora disponibile dopo la riparazione di Scanpst, la tua ultima risorsa è uno strumento esterno più efficace e affidabile, come DataNumen Outlook Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recupero mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com



