E-postalar geldiğinde Outlook’ta ekleri otomatik olarak nasıl yazdırabilirim?
Bu öğretici, Outlook’a gelen belirli e-postaların eklerini otomatik olarak yazdırmak amacıyla bir VBA betiğini Outlook kuralıyla nasıl birleştireceğinizi gösterir.
Belirli e-postalar geldiğinde ekleri otomatik olarak yazdırma
Diyelim ki, belirli bir gönderenden gelen e-postaların eklerini gelen kutunuzdan otomatik olarak yazdırmak istiyorsunuz. Bunu gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz.
Adım 1: Outlook'ta bir betik oluşturun
Öncelikle Outlook’ta bir VBA betiği oluşturmanız gerekiyor.
1. Outlook uygulamanızı başlatın ve Alt+F11 tuşlarına aynı anda basarak Microsoft Visual Basic for Applications penceresini açın.
2. Microsoft Visual Basic for Applications penceresinde, Project1 > Microsoft Outlook Nesneleri > ThisOutlookSession öğesine çift tıklayarak ThisOutlookSession (Kod) penceresini açın ve ardından aşağıdaki kodu bu kod penceresine kopyalayın.

VBA kodu 1: E-postalar geldiğinde ekleri (tüm ek türlerini) otomatik olarak yazdırma
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
Dim xShell As Object
Dim xFolder As Object, xFolderItem As Object
Dim xFileName As String
On Error GoTo xError
If Item.Attachments.Count = 0 Then Exit Sub
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
If Not xFS.FolderExists(xTempFolder) Then
MkDir (xTempFolder)
End If
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
If IsEmbeddedAttachment(xAtt) = False Then
xFileName = xTempFolder & "\" & xAtt.FileName
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End If
Next xAtt
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
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 Not: Bu kod, e-postalarda alınan tüm türdeki eklerin yazdırılmasını destekler. Yalnızca belirli bir türdeki eki (örneğin PDF dosyaları) yazdırmak istiyorsanız lütfen aşağıdaki VBA kodunu uygulayın.
VBA kodu 2: E-postalar geldiğinde belirtilen türdeki ekleri otomatik olarak yazdırma
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
Dim xShell As Object
Dim xFolder As Object, xFolderItem As Object
Dim xFileType As String, xFileName As String
On Error GoTo xError
If Item.Attachments.Count = 0 Then Exit Sub
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
If Not xFS.FolderExists(xTempFolder) Then
MkDir (xTempFolder)
End If
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
If IsEmbeddedAttachment(xAtt) = False Then
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
xFileName = xTempFolder & "\" & xFileName
Select Case xFileType
Case "pdf" 'change "pdf" to the file extension you want to print
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End Select
End If
Next xAtt
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
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
Notlar:
3. Devam edin ve Araçlar > Başvurular seçeneğine tıklayın. Açılan Başvurular – Project1 iletişim kutusunda Microsoft Scripting Runtime kutusunu işaretleyin, ardından Tamam düğmesine tıklayın.

4. Kodu kaydedin ve Alt+Q tuşlarına basarak Microsoft Visual Basic for Applications penceresini kapatın.
Not: Lütfen Outlook’ta Tüm makroları etkinleştir seçeneğinin etkin olduğundan emin olun. Bu seçeneği aşağıda gösterilen adımları izleyerek kolayca kontrol edebilirsiniz.

Adım 2: Betiği kullanmak için bir kural oluşturun
Outlook'a VBA betiğini ekledikten sonra, belirli koşullara göre bu betiği çalıştıracak bir kural oluşturmanız gerekir.
1. Giriş sekmesine gidin ve Kurallar > Kuralları ve Uyarıları Yönet seçeneğine tıklayın.

2. Kurallar ve Uyarılar iletişim kutusunda bir kural oluşturmak için Yeni Kural düğmesine tıklayın.
İpuçları: Outlook'a birden fazla e-posta hesabı eklediyseniz, kuralı uygulamak istediğiniz hesabı Değişiklikleri bu klasöre uygula açılır liste alanında belirtin. Aksi takdirde, kural şu anda "Hesabı Belirt" olarak ayarlanmış gelen kutusuna uygulanır.

3. İlk Kural Sihirbazı iletişim kutusunda, Adım 1 kutusunda Gelen iletilere kural uygula seçeneğini seçin ve ardından İleri

4. İkinci Kural Sihirbazı iletişim kutusunda şunları yapmanız gerekir:

5. Kural Sihirbazı iletişim kutusunda aşağıdaki gibi yapılandırmanız gerekir.

İpuçları: Eğer bir betiği çalıştır seçeneği Kural Sihirbazı pencerenizde eksikse, bu makalede belirtilen yöntemi izleyerek görüntüleyebilirsiniz: Outlook kuralında eksik olan "Betik Çalıştır" seçeneğini geri yükleme.
6. Ardından istisnaları belirtmek için başka bir Kural Sihirbazı penceresi açılır. Gerekirse istisnaları seçebilirsiniz; aksi takdirde herhangi bir seçim yapmadan İleri düğmesine tıklayın.

7. Son Kural Sihirbazı penceresinde, kural için bir ad belirtmeniz ve ardından Son düğmesine tıklamanız gerekir.

8. Ardından, Kurallar ve Uyarılar iletişim kutusuna dönülür; oluşturduğunuz kuralı listede görebilirsiniz. Tüm ayarları tamamlamak için Tamam düğmesine tıklayın.

Artık belirtilen kişiden bir e-posta alındığında, ekler otomatik olarak yazdırılacaktır.
İlgili makaleler
Outlook'ta Yalnızca Bir E-postadan veya Seçili E-postalardan Ek(leri) Yazdırma
Outlook’ta e-postaları yazdırabilirsiniz, ama yalnızca bir e-postanın ya da seçtiğiniz e-postaların eklerini yazdırmayı denediniz mi? Bu makalede, bu işlemi gerçekleştirmenize yardımcı olacak bazı pratik püf noktalarını paylaşıyoruz.
Outlook'ta Bir E-postanın Yalnızca İleti Başlığını Yazdırma
Outlook’ta bir e-postayı yazdırırken hem ileti başlığı hem de gövdesi yazdırılır. Ancak bazı özel durumlarda yalnızca konu, gönderen, alıcılar gibi bilgilerin yer aldığı ileti başlığını yazdırmak isteyebilirsiniz. Bu makalede, bunu gerçekleştirmek için iki pratik çözüm bulacaksınız.
Outlook'ta Belirtilen/Özel Tarih Aralığında Takvim Yazdırma
Normalde, Outlook’ta Ay görünümünde takvim yazdırıldığında sistem otomatik olarak şu anda seçili tarihi içeren ayı kullanır. Ancak bazen takvimi özel bir tarih aralığında — örneğin 3 ay veya yarım yıl gibi — yazdırmanız gerekebilir. İşte tam da bu durumda size çözüm sunan bu makaleyi kaçırmayın!
Outlook'ta Resimli Bir Kişiyi Yazdırma
Normalde Outlook’ta bir kişiyi yazdırırken kişinin resmi çıktıya dahil edilmez. Ancak bazen kişinin fotoğrafının da yer alması, çıktıyı daha etkileyici kılabilir. Bu makalede, bunu gerçekleştirmenize yardımcı olacak bazı geçici çözümleri paylaşıyoruz.
Outlook'ta Bir E-postanın Seçili Kısmını Yazdırma
Bir e-posta mesajı aldığınızda, tümünü değil de yalnızca belirli bir bölümünü yazdırmak isterseniz ne yaparsınız? Aslında Outlook, Firefox ve Internet Explorer gibi internet tarayıcılarıyla bu işlemi kolayca gerçekleştirmenize olanak tanır. Bu yazıda örnek olarak internet tarayıcılarını kullanacağız. Aşağıdaki öğreticilere göz atın!
En İyi Office Verimlilik Araçları
Yepyeni Kutools for Outlook’i 100+ muhteşem özelliğiyle deneyimleyin!Şimdi indirmek için tıklayın!
📧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 Mesajı Ekleme / Çok Alıcılı E-postaları Otomatik Olarak Bireysel Mesajlara Bölme…
📨E-posta Yönetimi: E-postayı Geri Çağırma, Konu Başlıklarına ve Diğerlerine 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 ve 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 Simge Durumuna Küçültür…
👍Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Phishing E-postalarına Karşı Koruma / 🕘 Gönderenin Mevcut Saati: Saat Dilimini Göster…
👩🏼🤝👩🏻Kişiler & Takvim:Seçili E-postalardan Toplu Kişi Ekleme/Bir Kişi Grubunu Bireysel Gruplara 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 dil desteğiyle!


🚀 Tek Tıkla İndir — Tüm Office Eklentilerini Edinin
Kesinlikle Önerilir: Kutools for Office (5’li Paket)
Beş yükleyiciyi tek tıklabir seferde indirin —Kutools for Excel, Outlook, Word, PowerPointve Office Tab Pro.Şimdi indirmek için tıklayın!
- ✅Tek tıkla kolaylık: 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