Sådan logger du automatisk hver udskrevet Outlook-e-mail i Excel-projektmappe

Nogle brugere håber automatisk at gemme logfiler af udskrevne e-mails i deres Outlook. Der er dog ikke en sådan direkte funktion tilgængelig. Derfor introducerer vi i denne artikel en måde til automatisk at logge hver udskrevet e-mail i en bestemt Excel-projektmappe.

Af nogle grunde kan det være nødvendigt at registrere oplysningerne i en e-mail, når du udskriver den. Naturligvis leverer Outlook ikke en oprindelig funktion, der understøtter dette. Således skal du generelt udføre denne opgave manuelt. Ikke desto mindre kan du stadig ved hjælp af VBA-kode lade din Outlook let udføre denne mission. Nu vil vi her afsløre et sådant stykke VBA-kode og detaljerede trin til dig.

Log automatisk hver udskrevet e-mail i Excel-projektmappe

  1. For somtart, start Outlook-applikationen.
  2. Gå derefter til VBA-editoren ved at klikke på “Visual Basic” -knappen under “Developer” -fanen.
  3. Sæt derefter følgende VBA-kode i et ubrugt 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-kode - Autolog hver udskrevet e-mail i Excel-projektmappe

  1. Afslut derefter VBA-editoren.
  2. Derefter ifølge "Valgfrit trin" på sost "Sådan køres VBA-kode i din Outlook“, Tilføj denne makro til båndet eller værktøjet til hurtig adgang.Føj makroknap til båndet
  3. Siden da, hver gang du vil udskrive en e-mail, skal du huske at bruge den nyligt tilføjede makroknap i stedet for standard “Udskriv”.Udskriv e-mail
  4. På denne måde logger Outlook automatisk den udskrevne mail i det foruddefinerede Excel-regneark.Logger på Excel

Hold Outlook-fil tilgængelig

Nogle gange, efter at Outlook går ned, kan du modtage fejlen, der beder om, at PST-filen er utilgængelig. På det tidspunkt skal du roe dig ned og derefter gøre brug af reparationsværktøjet til indbakken til rette Outlook. Imidlertid er det indbyggede værktøj ikke alsidigt. Det kan også mislykkes. Derfor, hvis din PST-fil stadig ikke er tilgængelig efter Scanpst-reparation, er din sidste udvej et mere effektivt og pålideligt eksternt værktøj, såsom DataNumen Outlook Repair.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder mdf opsving og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.