KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Outlook’ta birden fazla klasör veya alt klasörden e-postaları Excel’e nasıl dışa aktarabilirim?

YazarKelly Değiştirme Tarihi

Birden fazla klasörden veya alt klasörden e-postaları Excel’e dışa aktarmak, manuel yöntemlere ya da sınırlı Outlook özelliklerine bağlı kalındığında oldukça sıkıcı bir işe dönüşebilir. Neyse ki bu işlemi çok daha verimli yollarla gerçekleştirmek mümkün. Bu makalede iki yöntemi ele alacağız: VBA tabanlı bir yaklaşım ve Kutools for Outlook ile sunulan daha hızlı, kullanıcı dostu bir çözüm. VBA yöntemi esneklik sağlasa da karmaşık bir kurulum ve ayarlama süreci gerektirir. Öte yandan Kutools for Outlook, e-postaları Excel’e sadece birkaç tıklamayla dışa aktararak size hem zaman hem de emek tasarrufu sağlayan doğrudan ve güçlü bir alternatif sunar. Şimdi detaylara geçelim.

VBA Kullanarak Birden Fazla Klasör/Alt Klasörden E-postaları Excel’e Dışa Aktarma(Karmaşık ancak Esnek)

Kutools for Outlook ile Bir Klasör/Alt Klasörden E-postaları Excel’e Dışa Aktarma 👍(Verimli ve Kullanıcı Dostu)


VBA Kullanarak Birden Fazla Klasör/Alt Klasörden E-postaları Excel’e Dışa Aktarma

Kodlamaya alışkınsanız ve özelleştirilebilir bir çözüme ihtiyacınız varsa, VBA kullanımı oldukça etkili olabilir. Bu yöntem, birden fazla klasör veya alt klasörü belirtmenize ve bu klasörlerdeki e-postaları ayrı Excel dosyaları olarak dışa aktarmanıza olanak tanır. Ancak bu işlem, teknik bilgi gerektirir ve kodun dikkatle özelleştirilmesini zorunlu kılar.

Adım 1: VBA Düzenleyiciyi Açın

«Microsoft Visual Basic for Applications» penceresini açmak için Alt + F11 tuşlarına basın.

Adım 2: Yeni Bir Modül Ekleyin

«Ekle» > «Modül» seçeneğine tıklayıp aşağıdaki VBA kodunu yeni Modül penceresine yapıştırın.

VBA: Birden fazla klasör ve alt klasörden e-postaları Excel’e dışa aktarma

Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_account\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_account\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub

Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer

If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
If olkMsg.Class = olMail Then
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If

Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub

Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean

On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function

Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object

On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function

Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function

Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function

Adım 3: VBA Kodunu Özelleştirin

  1. Yukarıdaki kodda "destination_folder_path" kısmını gerçek dosya yoluyla değiştirin; örneğin: "C:\Users\DT168\Documents\TEST".
  2. "your_email_account\folder\subfolder_1" ve "your_email_account\folder\subfolder_2" ifadelerini Outlook dosya yoluyla değiştirin; örneğin "Kelly@extendoffice.com\Gelen Kutusu\A" ve "Kelly@extendoffice.com\Gelen Kutusu\B".
    doc-export-subfolders-to-excel-1

Adım 4: Kodu Çalıştırın

Kodu çalıştırmak için «F5» tuşuna basın ya da «Çalıştır» düğmesine tıklayın. Ardından açılan «Outlook Klasörlerini Excel’e Dışa Aktar» iletişim kutusunda «Tamam» düğmesine tıklayarak işlemi onaylayın. Belirtilen tüm klasörler ve alt klasörlerdeki e-postalar artık Excel çalışma kitabı olarak dışa aktarılmıştır.
doc-export-subfolders-to-excel-3

Dezavantajlar:

  • Karmaşık Kurulum: Dikkatli kod ayarlamaları ve VBA konusunda temel bilgi gerektirir.
  • Hata Yapmaya Açık: Özelleştirme sırasında küçük hatalar, veri kaybına veya eksik dışa aktarımlara yol açabilir.
  • Zaman Alıcı: Hızlı veya sık tekrarlanan dışa aktarımlar için uygun değildir.

Toplu İşleme ile E-posta Yönetiminizi Devrimleştirin!

Tekrarlayan e-posta görevlerinden bıktınız mı? Kutools for Outlook, iş akışınızı kolaylaştıran ve kıymetli zaman kazandıran «Toplu İşleme» araçlarını sunar.

  • 🌟Birden Fazla E-postaya Yanıt Verin: Şablonlar kullanarak toplu yanıtları zahmetsizce gönderin.
  • 📧Tek Tek İletin: Birden fazla e-postayı ek olarak değil, ayrı ayrı normal mesajlar halinde iletin.
  • 📝Çeşitli Biçimlerde Kaydedin: E-postaları tek seferde PDF, Word, Excel ve daha fazlasına dışa aktarın!
Kutools for Outlook Toplu İşleme Özelliği

Kutools for Outlook’yi Bugün Deneyin


Kutools for Outlook ile Bir Klasör/Alt Klasörden E-postaları Excel’e Dışa Aktarma 👍

Daha hızlı ve sorunsuz bir çözüm için «Kutools for Outlook» ile tanışın: «Seçili E-postaları Çeşitli Biçimlerde Dosya Olarak Kaydet» özelliğiyle işlerinizi kolaylaştırın. Basitliği, hızı ve çok yönlülüğüyle bu yöntem kesinlikle önerilir. İster birkaç e-posta yönetiyor olun, ister büyük veri kümeleriyle çalışıyorsunuz, Kutools minimum çabayla sorunsuz bir deneyim sunar.

Outlook’taki verimsizliğe veda edin! Kutools for Outlook, toplu e-posta işlemlerinizi kolaylaştırıyor – hemen 30 günlük ücretsiz denemenizi başlatın!Kutools for Outlook'ı Şimdi İndirin!!

Adım 1: Klasörü veya Alt Klasörü Seçin

Dışa aktarmak istediğiniz e-postaların bulunduğu klasöre veya alt klasöre gidin. Listedeki tüm e-postaları seçmek için Ctrl+A tuşlarına basın.

Adım 2: Seçili E-postaları Çeşitli Biçimlerde Dosya Olarak Kaydet Özelliğine Erişin

«Kutools» > «Toplu İşleme» > «Seçili E-postaları Çeşitli Biçimlerde Dosya Olarak Kaydet» seçeneğine tıklayın.

doc-export-subfolders-to-excel-4

Adım 3: Dışa Aktarma Ayarlarını Yapılandırın

  1. «E-postayı Diğer Dosyalara Kaydet» iletişim kutusunda, dosyaları kaydetmek istediğiniz hedef klasörü seçin.
  2. «Excel Formatı» seçeneğini işaretleyin.
  3. «Kaydetme İçeriği» bölümünden dışa aktarılacak özel e-posta içeriklerini (örneğin başlık, gövde) seçin.
    doc-export-subfolders-to-excel-5

Adım 4: Dışa Aktarmayı Tamamlayın

Dışa aktarma işlemini başlatmak için «Tamam» düğmesine tıklayın. İşlem tamamlandığında, tüm e-postaların belirlenen klasörde ayrı Excel dosyaları olarak kaydedildiğini göreceksiniz.

doc-export-subfolders-to-excel-6

Avantajlar:

  • Hızlı ve Kullanımı Kolay: E-postaları Excel’e birkaç tıklamayla dışa aktarın—teknik bilgiye gerek yok!
  • Özelleştirilebilir Çıktı: İhtiyaçlarınıza göre belirli dosya türlerini ve içerikleri seçin.
  • Hatasız Süreç: VBA yöntemlerinin beraberinde getirdiği karmaşıklıktan ve potansiyel hatalardan kaçının.
  • Profesyonel Sonuçlar: Düzenli kayıtlar oluşturmak ya da verileri verimli bir şekilde paylaşmak için mükemmeldir.
Not: «Seçili E-postaları Çeşitli Biçimlerde Dosya Olarak Kaydet» özelliğini Kutools for Outlook ile kullanmak için öncelikle Kutools for Outlookindirip yüklemeniz gerekir.

En İyi Office Verimlilik Araçları

Yepyeni Kutools for Outlook’i 100+ inanılmaz özelliğiyle deneyimleyin!Şimdi indirmek için tıklayın!

🤖KUTOOLS AI:E-postaları yanıtlama, özetleme, iyileştirme, uzatma, çevirme ve yazma dahil olmak üzere zahmetsizce yönetmek için gelişmiş yapay zeka teknolojisi kullanır.

📧E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için kullanılabilir) / E-postaları Zamanlayarak Gönderme / E-posta Gönderirken Kurallara Göre Otomatik CC/BCC / Otomatik Yönlendirme (Gelişmiş Kurallar) / Otomatik Selam Eklemesi / Çok Alıcılı E-postaları Otomatik Olarak Tekil Mesajlara Bölme…

📨E-posta Yönetimi: E-postayı Geri Çağırma / Konu Başlıklarına ve Diğer Kriterlere Göre Dolandırıcılık E-postalarını Engelleme / Yinelenen E-postaları Silme / Gelişmiş Arama / Klasörleri Düzenleme…

📁Ek Dosyalar Pro: Toplu Kaydetme, Toplu Ayırma, Toplu Sıkıştırma, Otomatik Kaydet, Otomatik Ayır, Otomatik Sıkıştır…

🌟Arayüz Büyüsü: 😊 Daha Güzel ve Havalı Emojiler / Önemli e-postalar geldiğinde sizi uyarır / Outlook’u Kapatmak Yerine Küçültür…

👍Tek Tıklamayla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı E-postalarına Karşı Koruma / 🕘 Gönderenin Mevcut Saati – Saat Dilimini Göster…

👩🏼‍🤝‍👩🏻Kişiler ve Takvim:Seçili E-postalardan Toplu Kişi Ekleme/Bir Kişi Grubu’nu Bireysel Kişilere Bölme/Doğum Günü Hatırlatıcısını Kaldırma…

Kutools’u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40’tan fazla başka dilde desteklenir!

Kutools for Outlook’un kilidini tek tıklamayla hemen açın! Beklemeyin, şimdi indirin ve verimliliğinizi artırın!

kutools for outlook features1kutools for outlook features2

🚀 Tek Tıklamayla İndir — Tüm Office Eklentilerini Edinin

Kesinlikle Önerilir: Kutools for Office (5’li Paket)

Beş yükleyiciyi tek tıklamayla indirin beş yükleyiciyiaynı anda —Kutools for Excel, Outlook, Word, PowerPointve Office Tab Pro.Şimdi indirmek için tıklayın!

  • ✅Tek tıklama kolaylığı: Tüm beş kurulum paketini tek seferde indirin.
  • 🚀Her Office görevine hazır: İhtiyacınız olduğunda, ihtiyacınız olan eklentileri yükleyin.
  • 🧰İçerik: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint