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

Outlook’ta e-postayı açmadan ekleri nasıl kaydedebilirim?

YazarSiluvia Değiştirme Tarihi

E-postalardan ekleri bilgisayarınızın sürücülerine sık sık kaydetmeniz gerekebilir. Tek bir e-postadan bir veya tüm ekleri kaydetmek oldukça kolaydır; ancak birden fazla e-postanın eklerini aynı anda nasıl kaydedebilirsiniz? Genellikle her e-postayı ayrı ayrı açıp ekleri tek tek kaydetmek zorunda kalırsınız. Peki bu tekrarlayan işlemi ortadan kaldıracak bir yöntem var mı? Bu öğreticideki yöntemler tam da size yardımcı olabilir!

VBA koduyla bir veya daha fazla e-postadan e-postayı açmadan ekleri kaydetme
Harika bir araçla bir veya daha fazla e-postadan e-postayı açmadan ekleri kaydetme


VBA koduyla bir veya daha fazla e-postadan e-postayı açmadan ekleri kaydetme

Aşağıdaki VBA kodu, Outlook’ta e-postaları açmadan bir veya daha fazla e-postanın eklerini aynı anda kaydetmenize olanak tanır. Lütfen aşağıdaki adımları uygulayın.

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

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

ekleri VBA ile kaydet 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 Klasör Seç penceresi açılır; ekleri kaydetmek için lütfen bir klasör seçin ve ardından Tamam düğmesine tıklayın.

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

Not: Tüm ekler e-postalardan çıkarılır ve e-posta gövdesinde ilgili kaydetme yolu bağlantıları bırakılır.

ekleri VBA ile kaydet 2

Harika bir araçla bir veya daha fazla e-postadan e-postayı açmadan ekleri kaydetme

VBA konusunda yeniyseniz, bu bölümdeki yöntem sizin için ideal bir seçim olacak.

Burada size Tüm Ekleri Kaydet özelliğini sunan Kutools for Outlook’u öneriyoruz. Seçili e-postalardaki ekleri çıkarmadan yalnızca kaydetmek istiyorsanız, Tüm Ekleri Kaydet özelliği bunu kolayca yapmanıza yardımcı olur. Lütfen aşağıdaki adımları uygulayın.
Kutools for Outlook’u kullanmadan önce lütfen indirip yükleyin.

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!!

1. Kaydetmek istediğiniz ekleri içeren e-postaları seçin, ardından KUTOOLS PLUS > Ek Araçları > Tümünü Kaydet seçeneğine tıklayın.

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

  • 2,1)Ekleri bu klasöre kaydetbölümünde, ekleri kaydetmek için bir klasör seçin;
  • 2,2)Aşağıdaki stile sahip ekleri kaydet kutusu, ekleri belirli bir stille alt klasöre kaydetmeniz veya kaydedilen ekleri belirli bir stille yeniden adlandırmanız için isteğe bağlıdır.
  • 2,3) Tüm ekleri seçili e-postalardan kaydetmeye başlamak için Tamam düğmesine tıklayın.

İpuçları: Yukarıdaki ayarlarla tüm ekler belirtilen klasöre kaydedilir. Ancak yalnızca dosya adına "invoice" gibi belirli bir kelime içeren PDF dosyalarını kaydetmek istiyorsanız, Filtre Koşulları özelliğini aşağıdaki gibi yapılandırabilirsiniz.

  • Filtre koşullarını Gelişmiş Seçeneklergenişletmek için Filtre koşuludüğmesine tıklayın;
  • İhtiyaçlarınıza göre koşulları belirtin.
    İpuçları: Burada Ek Adı içeren kutuyu işaretleyip metin kutusuna "invoice" yazdım, ardından Ek türü şu şekilde kutusunu işaretleyip metin kutusuna ".pdf" girdim.
ekleri kutools ile kaydet 2

3. Sonraki açılan iletişim kutusunda devam etmek için Evet seçeneğine tıklayın.

Seçili e-postalardaki ekler belirtilen klasöre anında kaydedilir.

İpuçları: Seçili e-postalardan ekleri çıkarıp e-posta gövdesinde yalnızca ek bağlantısını bırakmak istiyorsanız, Tüm Ekleri Çıkar özelliği size yardımcı olabilir.


İlgili makaleler

Outlook’tan ekleri otomatik olarak belirli bir klasöre indirme/kaydetme
Genellikle, Outlook’ta bir e-postanın tüm eklerini kaydetmek için Kayıtlar > Tüm Ekleri Kaydet seçeneğine tıklamanız yeterlidir. Peki ya gelen tüm e-postalardaki ekleri —özellikle de “Tüm alınan e-postalar” klasöründekileri— otomatik olarak kaydetmeniz gerekiyorsa? Bu makalede, Outlook’tan ekleri belirlediğiniz bir klasöre otomatik olarak indirmenize yardımcı olacak iki pratik çözüm sunuyoruz.

Outlook’ta yanıt verirken ekleri saklama
Microsoft Outlook’ta bir e-posta iletisini iletirken, bu iletiye ait orijinal ekler iletilen iletide korunur. Ancak bir e-postayı yanıtlarken orijinal ekler otomatik olarak yeni yanıt iletisine eklenmez. Bu bölümde, Microsoft Outlook’ta yanıt verirken orijinal ekleri nasıl saklayabileceğinize dair birkaç ipucu paylaşıyoruz.

Outlook’ta ekin içeriğinde (ek içinde) kelimeleri arama
Outlook’taki Anında Arama kutusuna bir anahtar kelime yazdığınızda sistem, bu kelimeyi e-posta konularında, gövdelerinde ve eklerde arar. Ancak yalnızca ek dosyaların içeriğinde arama yapmak istiyorsanız, bu makalede Outlook’ta eklerdeki kelimeleri bulmanız için kolayca uygulayabileceğiniz adımları bulacaksınız.