Hur man loggar automatiskt varje utskriven Outlook-e-post i Excel-arbetsbok

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

  1. För somtarstarta Outlook-applikationen.
  2. Gå sedan till VBA-redigeraren genom att klicka på knappen “Visual Basic” på fliken “Developer”.
  3. 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

VBA-kod - Auto logga varje utskriven e-post i Excel-arbetsbok

  1. Avsluta sedan VBA-redigeraren.
  2. 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.Lägg till makroknapp i menyfliksområdet
  3. 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.Skriv ut e-post
  4. På detta sätt loggar Outlook den utskrivna posten automatiskt i det fördefinierade Excel-kalkylbladet.Loggar in i Excel

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

Kommentarer är stängda.