Vissa användare hoppas att automatiskt spara loggar med utskrivna e-postmeddelanden i Outlook. Det finns dock inte en sådan direkt funktion tillgänglig. Därför introducerar vi i den här artikeln ett sätt att automatiskt logga varje utskriven e-post i en specifik Excel-arbetsbok.
Av vissa skäl kan du behöva spela in informationen i ett e-postmeddelande när du skriver ut det. Uppenbarligen ger Outlook inte en inbyggd funktion som stöder detta. I allmänhet måste du alltså utföra denna uppgift manuellt. Ändå, med hjälp av VBA-kod, kan du fortfarande låta din Outlook utföra detta uppdrag med lätthet. Nu, här kommer vi att avslöja en sådan bit av VBA-kod och detaljerade steg för dig.
Logga varje utskriven e-post automatiskt i Excel-arbetsbok
- För somtarstarta Outlook-applikationen.
- Gå sedan till VBA-redigeraren genom att klicka på knappen “Visual Basic” på fliken “Developer”.
- Sätt sedan följande VBA-kod i en oanvänd modul.
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
- Avsluta sedan VBA-redigeraren.
- Därefter enligt "Valfritt steg" på sidost "Hur du kör VBA-kod i din Outlook”, Lägg till detta makro i menyfliksområdet eller snabbåtkomstverktygsfältet.
- Sedan dess, varje gång du vill skriva ut ett e-postmeddelande, kom ihåg att använda den nyligen tillagda makroknappen istället för standardutskriften.
- På detta sätt loggar Outlook den utskrivna posten automatiskt i det fördefinierade Excel-kalkylbladet.
Håll Outlook-fil tillgänglig
Ibland, efter att Outlook kraschar, kan du få ett felmeddelande om att PST-filen är otillgänglig. Vid den tiden bör du lugna ner dig och sedan använda reparationsverktyget för inkorgen för att fixa Outlook. Det inbyggda verktyget är dock inte mångsidigt. Det kan också misslyckas. Därför, om din PST-fil fortfarande inte är tillgänglig efter Scanpst-reparation, är din sista utväg ett mer effektivt och pålitligt externt verktyg, t.ex. DataNumen Outlook Repair.
Författarintroduktion:
Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive mdf-återställning och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com



