E-postalar Outlook'a ulaştığında ekleri otomatik olarak nasıl yazdırabilirim?
Bu öğretici, belirli e-postaların eklerini Outlook'a ulaştıklarında otomatik olarak yazdırmanıza yardımcı olmak için bir VBA komut dosyası ile bir Outlook kuralını birleştirme yöntemini gösterir.
Belirli e-postalar geldiğinde ekleri otomatik olarak yazdırın
Belirli bir göndericiden gelen e-postaların eklerini otomatik olarak yazdırmak istediğinizi varsayalım. Bunu yapmak için aşağıdaki gibi yapabilirsiniz.
Adım 1: Outlook'ta bir komut dosyası oluşturun
Öncelikle, Outlook'ta bir VBA komut dosyası oluşturmanız gerekir.
1. Outlook'unuzu başlatın, Ara Toplam + F11 anahtarları aynı anda açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. içinde Uygulamalar için Microsoft Visual Basic pencere, üzerine çift tıklayın Project1 > Microsoft Outlook Nesneleri > Bu OutlookOturumu açmak için 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 (her tür eki) otomatik olarak yazdır
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 her tür ekin yazdırılmasını destekler. Yalnızca pdf dosyaları gibi belirtilen ek türünü 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ırın
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 tıklayın Tools > Referanslar. Haşhaşta Referanslar – Proje1 iletişim kutusunda Microsoft Komut Dosyası Çalışma Zamanı ve ardından OK düğmesine basın.
4. Kodu kaydedin ve Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.
Not: Lütfen emin olun Tüm makroları etkinleştirin seçeneği Outlook'unuzda etkindir. Aşağıda gösterilen adımları izleyerek bu seçeneği kontrol edebilirsiniz.
Adım 2: Komut dosyasını kullanmak için bir kural oluşturun
Outlook'ta VBA komut dosyasını ekledikten sonra, komut dosyasını belirli koşullara göre kullanmak için bir kural oluşturmanız gerekir.
1. Ana Sayfa sekmesine gidin, kurallar > Kuralları ve Uyarıları Yönetin.
2. içinde Kurallar ve Uyarılar iletişim kutusunda, Yeni kural bir kural oluşturmak için düğmesine basın.
İpuçları: Outlook'unuza birden fazla e-posta hesabı eklediyseniz, lütfen Değişiklikleri bu klasöre uygula kuralı uygulamak istediğiniz açılır liste. Aksi takdirde, seçili e-posta hesabının gelen kutusuna uygulanacaktır.
3. İlkinde Kural Sihirbazı iletişim kutusunu seçin Alınan iletilere kural uygula içinde 1. Adım kutusunu ve sonra Tamam'ı tıklatın. Sonraki.
4. saniyede Kural Sihirbazı iletişim kutusu, yapmanız gerekenler:
5. Üçüncü olarak Kural Sihirbazı iletişim kutusu, aşağıdaki gibi yapılandırmanız gerekir.
İpuçları: Eğer "bir komut dosyası çalıştır” seçeneği eksik Kural Sihirbazı, bu makalede belirtilen yöntemi izleyerek görüntüleyebilirsiniz: Outlook kuralında eksik Komut Dosyası Çalıştır sayfasını geri yükle.
6. Sonra başka Kural Sihirbazı istisnalar soran açılır. Gerekirse istisnaları seçebilirsiniz, aksi takdirde Sonraki herhangi bir seçim olmadan düğme。
7. Sonunda Kural Sihirbazı, kural için bir ad belirtmeniz ve ardından Bitiş düğmesine basın.
8. Ardından, Kurallar ve Uyarılar iletişim kutusunda, oluşturduğunuz kuralın içinde listelendiğini görebilirsiniz, OK Tüm ayarları bitirmek için düğmesine basın.
Şu andan itibaren, belirtilen kişiden bir e-posta alındığında, ekli dosyalar otomatik olarak yazdırılacaktır.
İlgili Makaleler
Outlook'ta Yalnızca Bir E-postadan veya Seçilmiş E-postalardan Gelen Ekleri Yazdırın
Outlook'ta e-postaları yazdırabilirsiniz, ancak ekleri yalnızca bir e-postadan mı yoksa Outlook'ta seçilen e-postalardan mı yazdırdınız? Bu makale, bu işi çözmenin püf noktalarını tanıtmaktadır.
Outlook'ta Yalnızca Bir E-postanın İleti Başlığını Yazdır
Outlook'ta bir e-posta yazdırırken, e-postada hem mesaj başlığını hem de mesaj gövdesini yazdıracaktır. Ancak, bazı özel durumlarda, konu, gönderen, alıcılar vb. ile mesaj başlığını yazdırmanız yeterli olabilir. Bu makale bunu yapmak için iki çözüm sunacaktır.
Outlook'ta Belirtilen/Özel Tarih Aralığında Bir Takvim Yazdırın
Normalde, Outlook'ta Ay görünümünde bir takvim yazdırırken, seçili tarihi içeren ayı otomatik olarak seçer. Ancak takvimi 3 ay, yılın yarısı gibi özel bir tarih aralığında yazdırmanız gerekebilir. Bu makale size çözümü tanıtacaktır.
Outlook'ta Resimli Bir Kişiyi Yazdır
Normalde, kişi Outlook'ta yazdırılırken kişinin resmi yazdırılmaz. Ancak bazen bir kişiyi resmiyle birlikte basmak daha etkileyici olacaktır. Bu makale, bunu halletmek için bazı geçici çözümler sunacaktır.
Outlook'ta Bir E-posta Seçimi Yazdır
Bir e-posta mesajı aldıysanız ve mesajın tamamını yazdırmak yerine e-posta içeriğinin bir kısmının yazdırılması gerektiğini fark ettiyseniz, ne yapardınız? Aslında Outlook, Firefox ve Internet Explorer gibi internet tarayıcılarının yardımıyla bu işlemi gerçekleştirmenize yardımcı olabilir. Burada örneğin İnternet tarayıcılarını alacağım. Lütfen aşağıdaki eğitimlere bakın.
En İyi Ofis Üretkenlik Araçları
Outlook için Kutools - Outlook'unuzu Güçlendirecek 100'den Fazla Güçlü Özellik
🤖 AI Posta Yardımcısı: Yapay zeka büyüsüyle anında profesyonel e-postalar: tek tıkla dahice yanıtlar, mükemmel ton, çok dilli ustalık. E-posta göndermeyi zahmetsizce dönüştürün! ...
???? E-posta Otomasyonu: Ofis Dışında (POP ve IMAP için kullanılabilir) / E-posta Gönderimini Planla / E-posta Gönderirken Kurallara Göre Otomatik CC/BCC / Otomatik İletme (Gelişmiş Kurallar) / Otomatik Karşılama Ekleme / Çok Alıcılı E-postaları Otomatik Olarak Bireysel Mesajlara Bölün ...
📨 E-posta Yönetimi: E-postaları Kolayca Geri Çağırın / Dolandırıcılık E-postalarını Konulara ve Diğerlerine Göre Engelleyin / Yinelenen E-postaları Silin / gelişmiş Arama / Klasörleri Birleştir ...
📁 Ekler Pro: Toplu Kaydetme / Toplu Ayır / Toplu Sıkıştırma / Otomatik kaydet / Otomatik Ayır / Otomatik Sıkıştır ...
🌟 Arayüz Büyüsü: 😊Daha Fazla Güzel ve Havalı Emoji / Sekmeli Görünümlerle Outlook Verimliliğinizi Artırın / Outlook'u Kapatmak Yerine Küçültün ...
👍 Tek Tıklamayla Harikalar: Tümünü Gelen Eklerle Yanıtla / Kimlik Avına Karşı E-postalar / 🕘Gönderenin Saat Dilimini Göster ...
👩🏼🤝👩🏻 Kişiler ve Takvim: Seçilen E-postalardan Toplu Kişi Ekleme / Kişi Grubunu Bireysel Gruplara Bölme / Doğum Günü Hatırlatıcılarını Kaldır ...
üzerinde 100 Özellikler Keşfinizi Bekleyin! Daha Fazlasını Keşfetmek İçin Buraya Tıklayın.