Skip to main content

Outlook'ta e-postayı açmadan ekleri nasıl kaydedersiniz?

Author: Siluvia Last Modified: 2025-06-10

Alınan e-postalardaki ekleri bilgisayarınıza kaydetme ihtiyacı duyabilirsiniz. Bir e-postadaki bir veya tüm ekleri kaydetmek kolaydır, ancak birden fazla e-postadan ekleri aynı anda nasıl kaydedersiniz? Normalde, e-postaları tekrar tekrar açmanız ve ekleri kaydetmeniz gerekir. Bu tekrarlayan işlemleri ortadan kaldırmak için herhangi bir yöntem var mı? İşte bu eğitimdeki yöntemler size yardımcı olabilir.

VBA kodu ile e-postaları açmadan bir veya daha fazla e-postadan ekleri kaydedin
Harika bir araç ile e-postaları açmadan bir veya daha fazla e-postadan ekleri kaydedin


VBA kodu ile e-postaları açmadan bir veya daha fazla e-postadan ekleri kaydedin

Aşağıdaki VBA kodu, Outlook'taki e-postaları açmadan bir veya daha fazla e-postadan ekleri aynı anda kaydetmenize yardımcı olabilir. Lütfen aşağıdaki adımları izleyin.

1. Ekleri kaydetmek istediğiniz bir veya daha fazla e-postayı seçin, ardından Alt + F11 tuşlarına basarak Microsoft Visual Basic for Applications penceresini açın.

2. Microsoft Outlook Nesneler klasörünü genişletin, ThisOutlookSession öğesine çift tıklayarak Kod penceresini açın ve ardından aşağıdaki VBA kodunu buna kopyalayın.

save attachments with VBA 1

VBA kodu: E-postaları açmadan ekleri kaydetme

Public Sub SaveAttachmentsWithoutOpening()
'Updated by Extendoffice 20191008
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim i As Long
Dim xCount As Long
Dim xFileName As String
Dim xSavePath As String
Dim xOriginalFiles As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xSavePath = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xMailItem In Outlook.ActiveExplorer.Selection
    Set xAttachments = xMailItem.Attachments
    xCount = xAttachments.Count
    xOriginalFiles = ""
    If xCount > 0 Then
        For i = xCount To 1 Step -1
            Set xAttachment = xAttachments.Item(i)
            If IsEmbeddedAttachment(xAttachment) = False Then
                xFileName = xSavePath & xAttachment.FileName
                xAttachment.SaveAsFile xFileName
                xAttachment.Delete
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xOriginalFiles = xOriginalFiles & vbCrLf & "file://" & xFileName
                Else
                    xOriginalFiles = xOriginalFiles & "<br>" & "<a href='file://" & xFileName & "'>" & xFileName & "</a>"
                End If
            End If
        Next i
        If xMailItem.BodyFormat <> olFormatHTML Then
            xMailItem.Body = "The file(s) were saved to " & xOriginalFiles & vbCrLf & vbCrLf & xMailItem.Body
        Else
            xMailItem.HTMLBody = "<p>" & "The file(s) were saved to " & xOriginalFiles & "</p>" & xMailItem.HTMLBody
        End If
        xMailItem.Save
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

4. Kodu çalıştırmak için F5 tuşuna basın. Ardından bir BrowseForFolder penceresi açılacak, lütfen ekleri kaydetmek için bir klasör seçin ve Tamam düğmesine tıklayın.

Ardından, seçili e-postalardaki tüm ekler hemen seçilen klasöre kaydedilir.

Not: Tüm ekler e-postalardan ayrılacak ve e-posta gövdesinde ilgili kaydetme yolu bağlantıları korunacaktır.

save attachments with VBA 2

Harika bir araç ile e-postaları açmadan bir veya daha fazla e-postadan ekleri kaydedin

Eğer VBA konusunda yeniyken, bu bölümdeki yöntem sizin için iyi bir seçim olacaktır.

Burada önerilen Tüm Ekleri Kaydet araçları Kutools for Outlook seçeneği. Eğer sadece ekleri seçili e-postalardan ayırmadan kaydetmek istiyorsanız, Tüm Ekleri Kaydet özelliği size bunu kolayca yapmanıza yardımcı olabilir. Lütfen aşağıdaki adımları izleyin.
Kutools for Outlook uygulamasını kullanmadan önce lütfen indirip yükleyin öncelikle.

Kutools for Outlook ile en üst düzey e-posta verimliliğini açın! Sonsuza kadar tamamen ücretsiz olarak 70 güçlü özelliğe erişin. Ücretsiz Sürümü Şimdi İndirin!

1. Ekleri içeren e-postaları seçin, Kutools Plus > Ek Araçları > Tümünü Kaydet'e tıklayın.

2. Kaydetme Ayarları iletişim kutusunda, şunları yapmanız gerekiyor:

  • 2.1) Ekleri bu klasöre kaydet bölümüne gidin, ekleri kaydetmek için bir klasör seçin;
  • 2.2) Aşağıdaki stilde ekleri kaydet kutusu, ekleri belirli bir stilde kaydetmek için alt klasör oluşturmak veya kaydedilen ekleri belirli bir stille yeniden adlandırmak için size opsiyoneldir.
  • 2.3) Seçili e-postalardaki tüm ekleri kaydetmeye başlamak için Tamam'a tıklayın.

İpuçları: Yukarıdaki yapılandırmalarla, tüm ekler belirlenen klasöre kaydedilecektir. Eğer yalnızca belirli ekleri kaydetmek istiyorsanız, örneğin dosya adında "fatura" kelimesi olan PDF dosyalarını kaydetmek istiyorsanız, filtre koşullarını aşağıdaki gibi yapılandırabilirsiniz.

  • Gelişmiş seçenekler düğmesine tıklayarak Filtre Koşulları'nı genişletin;
  • Koşulları ihtiyaçlarınıza göre belirtin.
    İpuçları:Burada ben Ek Adı kutusunu işaretliyorum ve metin kutusuna "fatura" yazıyorum, ardından Ek Türü kutusunu işaretliyorum ve metin kutusuna ".pdf" yazıyorum.
save attachments with kutools 2

3. Sonraki açılır pencerede, devam etmek için Evet'e tıklayın.

Ardından, seçili e-postalardaki ekler hemen belirlenen klasöre kaydedilir.

İpuçları: Seçili e-postalardan ekleri ayırıp e-posta gövdesinde yalnızca ek bağlantılarını bırakmak için Tüm Ekleri Ayır özelliği yardımcı olabilir.


İlgili makaleler

Outlook'tan belirli bir klasöre otomatik olarak indirme/kaydetme eklentileri
Genel olarak konuşursak, Outlook'ta Ekler > Tüm Ekleri Kaydet'e tıklayarak bir e-postadaki tüm ekleri kaydedebilirsiniz. Ancak, alınan tüm e-postalardan ve alınıp alınmadığından bağımsız olarak tüm ekleri kaydetmek isterseniz ne yaparsınız? Bu makale, Outlook'tan belirli bir klasöre ekleri otomatik olarak indirmek için iki çözüm sunar.

Outlook'da yanıt verirken ekleri koruyun
Microsoft Outlook'da bir e-posta iletisini ilettiğimizde, bu e-posta iletisindeki orijinal ekler iletilen ileti içinde kalır. Ancak, bir e-posta iletisine yanıt verdiğimizde, orijinal ekler yeni yanıt iletisine eklenmez. Burada Microsoft Outlook'da yanıt verirken orijinal ekleri koruma konusunda birkaç ipucu tanıtacağız.

Outlook'da ek (içerik) içindeki kelimeleri arayın
Outlook'daki Anında Arama kutusuna bir anahtar kelime yazdığımızda, bu anahtar kelimeyi e-postaların konularında, içeriklerinde, eklerinde vb. arar. Ancak şimdi sadece Outlook'daki ek içeriklerinde anahtar kelimeyi aramak istiyorum, fikriniz var mı? Bu makale, Outlook'daki ek içeriklerinde kelimeleri kolayca aramanın ayrıntılı adımlarını gösterir.