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

E-postalar geldiğinde Outlook’ta ekleri otomatik olarak nasıl yazdırabilirim?

YazarSiluvia Değiştirme Tarihi

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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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:

1. Gelen e-postalardaki yalnızca PDF Dosyaları dosyalarını yazdırmak için bu VBA kodunu uygulamadan önce, öncelikle Adobe Acrobat Readerprogramını indirip bilgisayarınızda yüklemeniz ve varsayılan PDF okuyucu olarak ayarlamanız gerekir.
2. Case "pdf"satırında, yazdırmak istediğiniz dosya uzantısıyla değiştirmek için "pdf"ifadesini güncelleyin.

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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar
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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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

4,1) İhtiyaçlarınıza göre Adım 1kutusunda bir veya daha fazla koşul belirtin;
Bu örnekte, belirtilen bir gönderenden gelen e-postalardaki ekleri yazdırmak istiyorum. Bu nedenle kişilerden veya genel gruptankutusunu işaretliyorum.
4,2) Koşulu düzenlemek için Adım 2kutusundaki altı çizili değere tıklayın;
4,3)İleriseçeneğine tıklayın. Ekran görüntüsüne bakın:
Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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

5,1)Adım 1: Eylem(ler)i seç bölümü,betiği çalıştırkutusunu işaretleyin;
5,2)Adım 2bölümünde, altı çizili “bir betik” metnine tıklayın;
5,3) Açılan Betik Seçiletişim kutusunda, yukarıda eklediğiniz VBA kodunun adına tıklayın ve ardından Tamam
5,4)İleridüğmesine tıklayın. Ekran görüntüsüne bakın:
Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

İ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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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.

Outlook'ta e-postalar geldiğinde ekleri otomatik yazdırmaya yönelik adımlar

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!

"Outlook'ta Yazdırma" konusunda daha fazla makale…


En İyi Office Verimlilik Araçları

Yepyeni Kutools for Outlook’i 100+ muhteşem ö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 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!

Kutools for Outlook’u tek bir tıklamayla anında açın! Beklemeyin, hemen indirin ve verimliliğinizi artırın!

kutools for outlook features1kutools for outlook features2

🚀 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