Gelen E-postaların Bilgilerini Outlook VBA ile Bir Excel Dosyasına Otomatik Olarak Dışa Aktarma

Şimdi paylaş:

Birçok kullanıcı, Outlook'un gelen e-postaların birincil bilgilerini otomatik olarak bir Excel dosyasına aktarabileceğini umuyor. Bu makale, bu gereksinime bakacak ve Outlook VBA aracılığıyla hızlı bir yöntem sunacaktır.

Bazen, posta istatistikleri gibi bazı nedenlerle, sık sık e-postaları bir Excel dosyasına aktarmanız gerekebilir. Genel olarak, mevcut alınan e-postaları tek seferde Excel'e aktarmak için "İçe ve Dışa Aktar" özelliğini kullanabilirsiniz. Ancak, belki de Outlook'un gelen e-postaları posta kutunuza gelir gelmez otomatik olarak Excel'e aktarabilmesini dilersiniz. Hiç şüphesiz, Outlook'ta böyle bir yerel özellik yoktur. Bu nedenle, 3. taraf bir eklenti veya Outlook VBA gibi başka yaklaşımlar kullanmanız gerekir. Burada size Outlook VBA ile nasıl otomatik hale getirileceğini öğreteceğiz. Adımları ve uygun kodları almak için okumaya devam edin.

Gelen E-postaların Bilgilerini Bir Excel Dosyasına Otomatik Aktarma

  1. İlk etapta, bir Excel dosyası oluşturmanız gerekir.
  • Yeni bir Excel dosyası açın.
  • Ardından "Hayır" yazmalısınız. A1 Hücresinde “Sender Name”, B1 Hücresinde “Sender Email Address”, C1 Hücresinde “Sender Email Address” ve D1 Hücresinde “Email Konusu” ve E1 Hücresinde “Alınma Zamanı” aşağıdaki görseldeki gibi.Bir Excel dosyası oluşturun
  • Son olarak istediğiniz isme ve istediğiniz klasöre kaydedin.
  1. Bundan sonra, Outlook'u başlatmalısınız.
  2. Ardından “Alt + F11” tuşlarına basın, sizi VBA editörüne getirecektir.
  3. Açılan pencerede, sol taraftaki “ThisOutlookSession” üzerine çift tıklamalısınız.
  4. Akabinde “ThisOutlookSession” proje penceresinde aşağıdaki VBA kodlarını kopyalayıp içine yapıştırmanız gerekmektedir.
Public WithEvents objMails As Outlook.Items

Private Sub Application_Startup()
    Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub objMails_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkBook As Excel.Workbook
    Dim objExcelWorkSheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim strColumnB As String
    Dim strColumnC As String
    Dim strColumnD As String
    Dim strColumnE As String

    If Item.Class = olMail Then
       Set objMail = Item
    End If
 
    'Specify the Excel file which you want to auto export the email list
    'You can change it as per your case
    strExcelFile = "E:\Email\Email Statistics.xlsx"
 
    'Get Access to the Excel file
    On Error Resume Next
    Set objExcelApp = GetObject(, "Excel.Application")
    If Error <> 0 Then
       Set objExcelApp = CreateObject("Excel.Application")
    End If
    Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
 
    'Get the next empty row in the Excel worksheet
    nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
 
    'Specify the corresponding values in the different columns
    strColumnB = objMail.SenderName
    strColumnC = objMail.SenderEmailAddress
    strColumnD = objMail.Subject
    strColumnE = objMail.ReceivedTime
 
    'Add the vaules into the columns
    objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
    objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
    objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
    objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
 
    'Fit the columns from A to E
    objExcelWorkSheet.Columns("A:E").AutoFit
 
    'Save the changes and close the Excel file
    objExcelWorkBook.Close SaveChanges:=True
End Sub

VBA Kodları - Gelen E-postaların Bilgilerini Bir Excel Dosyasına Otomatik Aktarma

  1. Daha sonra bu kodu imzalamanız gerekir.
  2. daha sonra restarYeni VBA projesini etkinleştirmek için Outlook.
  3. Sonunda, bundan sonra gelen tüm e-postalar, Gelen Kutusu klasörünüze gelir gelmez otomatik olarak önceden ayarlanmış Excel dosyasına aktarılacaktır. Excel dosyası aşağıdaki görüntü gibi görünecektir:Gelen E-postaların Bilgilerini İçeren Excel Dosyası

Ağrılı PST Veri Bozulmasını Önleyin

Outlook, çeşitli özellikleri nedeniyle çok övgü aldı. Ancak bu, kusursuz olduğu anlamına gelmez. Yine de her an tehlikeye girebilir. Örneğin, Outlook'unuzu sık sık yanlış bir şekilde kapatırsanız, PST verilerinizin tehlikeye girmesi çok olasıdır. Bu durumda, isterseniz PST'yi onar gibi deneyimli bir araca başvurmanız gerekir. DataNumen Outlook Repair.

Yazar Tanıtımı:

Shirley Zhang, bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. mdf'yi kurtar ve görünüm onarım yazılım ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

Şimdi paylaş:

Yoruma kapalı.