Kai kurie vartotojai tikisi automatiškai išsaugoti spausdintų el. laiškų žurnalus savo „Outlook“. Tačiau tokios tiesioginės funkcijos nėra. Todėl šiame straipsnyje pristatysime būdą, kaip automatiškai įrašyti kiekvieną išspausdintą el. laišką konkrečioje „Excel“ darbaknygėje.
Dėl tam tikrų priežasčių gali tekti įrašyti el. laiško informaciją, kai jį spausdinate. Akivaizdu, kad „Outlook“ nepateikia savosios tai palaikančios funkcijos. Taigi apskritai šią užduotį turite atlikti rankiniu būdu. Nepaisant to, naudodami VBA kodą, vis tiek galite leisti savo „Outlook“ lengvai atlikti šią misiją. Dabar mes atskleisime tokią VBA kodo dalį ir išsamius veiksmus.
Automatiškai registruokite kiekvieną išspausdintą el. laišką „Excel“ darbaknygėje
- Dėl astart, paleiskite „Outlook“ programą.
- Tada eikite į VBA redaktorių spustelėdami mygtuką „Visual Basic“, esantį skirtuke „Kūrėjas“.
- Tada į nenaudojamą modulį įdėkite šį VBA kodą.
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
- Po to išeikite iš VBA redaktoriaus.
- Vėliau, pagal „Neprivalomas veiksmas“, esantis post "Kaip paleisti VBA kodą „Outlook“.“, pridėkite šią makrokomandą prie juostelės arba greitosios prieigos įrankių juostos.
- Nuo tada kiekvieną kartą, kai norite atspausdinti el. laišką, nepamirškite naudoti naujai pridėto makrokomandos mygtuko, o ne standartinio „Spausdinti“.
- Tokiu būdu „Outlook“ automatiškai užregistruos atspausdintus laiškus iš anksto nustatytame „Excel“ darbalapyje.
Laikykite „Outlook“ failą pasiekiamą
Kartais, kai „Outlook“ užstringa, galite gauti klaidos pranešimą, kad PST failas nepasiekiamas. Tuo metu turėtumėte nusiraminti ir pasinaudoti gautųjų taisymo įrankiu pataisyti Outlook. Tačiau įmontuotas įrankis nėra universalus. Tai taip pat gali nepavykti. Taigi, jei jūsų PST failas vis dar nepasiekiamas po Scanpst taisymo, paskutinė išeitis yra efektyvesnis ir patikimesnis išorinis įrankis, pvz. DataNumen Outlook Repair.
Autoriaus įvadas:
Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant mdf atkūrimas ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com



