Jak automaticky zaznamenávat každý vytištěný e-mail aplikace Outlook v sešitu aplikace Excel

Sdílej nyní:

Někteří uživatelé doufají, že do svého Outlooku automaticky uloží protokoly tištěných e-mailů. Taková přímá funkce však není k dispozici. Proto v tomto článku představíme způsob automatického protokolování každého vytištěného e-mailu do konkrétního sešitu aplikace Excel.

Z některých důvodů možná budete muset zaznamenat informace e-mailu, když je vytisknete. Je zřejmé, že Outlook neposkytuje nativní funkci podporující toto. Obecně tedy musíte tento úkol provést ručně. Nicméně s pomocí kódu VBA stále můžete nechat svůj Outlook, aby se této mise ujal s lehkostí. Nyní zde odhalíme takový kousek kódu VBA a podrobné kroky pro vás.

Automatické protokolování každého vytištěného e-mailu v sešitu aplikace Excel

  1. Pro jakotart, spusťte aplikaci Outlook.
  2. Poté přejděte do editoru VBA kliknutím na tlačítko „Visual Basic“ na kartě „Developer“.
  3. Dále vložte následující kód VBA do nepoužívaného modulu.
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

Kód VBA - automatické protokolování každého vytištěného e-mailu v sešitu aplikace Excel

  1. Poté ukončete editor VBA.
  2. Následně podle „Volitelného kroku“ na strost "Jak spustit kód VBA ve vašem Outlooku“, Přidejte toto makro na pás karet nebo na panel nástrojů Rychlý přístup.Přidejte tlačítko Makro na pás karet
  3. Od té doby pokaždé, když chcete tisknout e-mail, nezapomeňte místo standardního „Tisknout“ použít nově přidané tlačítko makra.Tisknout e-mail
  4. Tímto způsobem aplikace Outlook automaticky zaznamená vytištěnou poštu do předdefinovaného listu aplikace Excel.Přihlásí se do Excelu

Udržujte soubor aplikace Outlook přístupný

Občas, po zhroucení aplikace Outlook, se může zobrazit chyba s výzvou, že soubor PST je nepřístupný. V té době byste se měli uklidnit a poté použít nástroj pro opravu doručené pošty opravit Outlook. Integrovaný nástroj však není univerzální. Může také selhat. Pokud je tedy váš soubor PST po opravě Scanpst stále nedostupný, vaše poslední možnost je efektivnější a spolehlivější externí nástroj, například DataNumen Outlook Repair.

Úvod autora:

Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně zotavení mdf a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.