ZIP dosyalarının içeriği de dahil olmak üzere 10.000'den fazla e-postanın ve eklerinin yazdırılmasını otomatikleştirin


10

Bazı kutsal olmayan nedenlerden dolayı, Outlook 2010 aracılığıyla 10.500 e-posta VE bunların eklerini (e-postaların yaklaşık% 70'ine eşlik eder) yazdırmam gerekiyor . Senin gibi ben de bu kadar saçma bir verimsizliğe kapıldım ve bunun bize ve dünyaya mal olacağını tahmin ettiğimiz 55.000 kağıt. Bununla birlikte, ya elle (son iki gündür yaptığımız şey) ya da otomatik olarak (lütfen tanrı bize yardım et) gerçekleşecektir.

Bunların, her e-postanın ilgili ekinin üzerine gelmesi ve kronolojik olarak yazdırılması için sipariş edilmesi gerekir. Böylece e-posta 1, ek 1, e-posta 2, ek 2, vb. Ekler Powerpoint, Excel, Word Docs ve en zahmetli: zip dosyalarında gelebilir.

İşte şimdiye kadar denedim:

  1. Outlook'ta "Seçenekler" -> "Yazdırma Seçenekleri" -> Eklerle Yazdır'ı seçin

  2. Tüm postaları bir .eml dosyasına dönüştürme ve klasörden yazdırma

  3. Tüm e-postaları pdf'lere dönüştürmek ve bir klasöre aktarmak için üçüncü taraf posta eklentisini (Sperrysoftware tarafından) kullanma. Bu klasörü alıp tarihe göre yeniden sıralamak ve pdfs'yi yazdırmak.

İşte neden hiçbiri işe yaramadı:

  1. Outlook'un Eklerle Yazdır ayarı, içinde makro bulunan belgeler için nadiren çalışır. Her şeyden önce, zip dosyalarıyla çalışmaz ve bunları geçer.

  2. Açıkçası .eml dosyaları doğrudan bir posta istemcisinin dışında yazdırılamaz veya okunamaz. Aslında bunun hala en umut verici çabamız olduğunu düşünüyorum, çünkü aslında tüm posta dosyası istikrarlı bir biçimde, ayrılmış ve bir posta istemcisinin dışında temsil ediliyor - yani çalışabilirler. E-postaları VE ilgili sıkıştırılmış ve çeşitli biçimlendirilmiş eklerini etkili bir şekilde yazdırılabilir dosyalara dönüştürmeme izin veren bir üçüncü taraf yazılımı bulamıyorum. Birini biliyorsanız, yazılım için 200 Euro'dan fazla harcama yapmaya hazırız.

  3. Bu yazılım ilk başta umut vericiydi. Ancak makro sık sık bozulur ve ayrıca şirketimizin e-posta imzalarını ek olarak tanır.

Herhangi bir tavsiye sunabilirseniz, bu bize çok yardımcı olacaktır. Şu anda her e-postayı, ilgili 3-4 ekini açıyoruz ve her bir ekin ilgili yazdırma iletişim kutusundan yazdırıyoruz. Bu beş kişiyi bir ay sürecek, bu nedenle girdiniz çok değerli olacak!


4
Bunun bir ürün önerisi sorusu olduğunu göremiyorum. Bu soru yazılım önerilmesini gerektirse de, çözülmesi gereken bir sorun olduğunu belirtir ve özellikle bir yazılım istemez.
bwDraco

2
Her durumda, sorunuz bir yazılım önerisi istemekten kaçınacak şekilde yapılandırılmıştır - ve bu iyidir, çünkü yazılım önerisi soruları Stack Exchange ağındaki çoğu site için konu dışıdır. Daha fazla bilgi için yardım merkezine bakın .
BwDraco

2
Tüm e-postaları Maildir formatına taşıma eğilimindeyim, daha sonra her biri bir komut dosyasına sahip olur ve e-posta ve ekleri yazdırır. Serbest çalışan bir sitede 200EUR için bir şeyler çalmak için birini alabilirsin
Paul

1
Ayrıntılar. Bu neden gerekli?
ewwhite

1
Burada kimsenin VBA'nın bunu başarabileceğini düşünmesinin bir nedeni var mı? Bu postalar değişim sunucunuzda mı?
Raystafarian

Yanıtlar:


3

MsgExtract , farklı e-posta kaynaklarından gelen e-posta mesajlarını toplu olarak yazdırabilir ve e-posta formatlarını dönüştürebilir.

  1. E-postaları ve eklerini kronolojik sırada toplu olarak yazdırabilir. En son inşaa, gereksiniminize göre zip eklerini açma ve yazdırma yeteneğini ekledik.
  2. Outlook e-postasını EML dosyaları olarak kaydedebilir
  3. Outlook e-postasını PDF dosyaları olarak kaydedebilir
  4. İletinin html bölümüne bağlı görüntüleri indirebilir ve sonuç biçimine (PDF dosyaları, yazıcı ...) ekleyebilir

Ekleri yazdırmak için MsgExtract, Windows Shell yazdırma ilişkilendirmelerine dayanır, atlanan ek dosyası uzantısı için ilişkilendirme yoksa.

MsgExtract toplu baskı hakkında daha fazla bilgiyi şu adreste bulabilirsiniz:

http://docs.maildev.com/article/122-how-do-i-batch-print-email-messages-and-its-attachments

(Feragat, ben MsgExtract'ın yazarıyım)


1
Yanıtlarınız alakalı olmasına rağmen, bunların çoğu veya tamamı doğası gereği tanıtım amaçlıdır. Bu, hesabınızın askıya alınmasına neden olabilir . Kendi ürünlerinizi tanıtmak istiyorsanız, lütfen Stack Exchange'de reklam satın almayı düşünün . Ayrıca yardım merkezine ve meta.superuser.com/questions/2352/recommending-own-products
bwDraco

3
İlgili bir cevap vermede yardımcı olmaya çalıştım. Ürün kesinlikle user4167750'nin yazdırma görevini çözmesine yardımcı olabilir, birinin önerdiği gibi özel programlama dışında mevcut herhangi bir seçeneğin farkında değilim. İlgili bir çözüm bulduğumu bilerek yayınlamaktan kaçınmalıydım? Her halükarda, SSS'deki öz tanıtım bölümünü okudum ve sitenin kalitesini korumak için spam'den kaçınmaya çalıştığınızı anlıyorum.
jponce

@jponce, cevabınızı gerçekten takdir ediyorum. Bu bizim sorunumuzu gerçekten çözebileceğine benziyor. Gerçekten tüm e-postaları bir .eml dosyasına alabiliriz. Ancak iki (daha küçük olduğuna inanıyorum) problemler olacaktır. Bunlarda herhangi bir girdi varsa, bu işlemi daha da hızlandıracaktır. 1) İmzalarımız ek olarak görünüyor. Lotus Notes'tan orijinal e-postaları indirdik, bu da Outlook'a içe aktarıldıktan sonra gerçekleşmesine neden oldu. 2) Excel dosyalarımızın çoğu +15 sayfadır. Onlar için özel bir baskı ayarımız var - bu baskı ayarını tüm xls'lere uygulayabilecek miyim?
user4167750

@ user4167750, bahsettiğiniz sorunlar hakkında: 1) ekleri dosya adına göre kaldırabilen ve filtreleyebilen bir ekler filtresi uyguladık. İmza ekleriniz iletiler arasında tutarlı adlara sahipse, sorunu çözebilir. 2) Excel yazdırma ayarlarının kalıcı olup olmadığından emin değilim. Yazdırma için, bir Windows kabuk ilişkilendirmesi bulmak için ekin dosya uzantısını kullanırız ve ardından ekin dosya adını parametre olarak geçirerek başlatırız.
jponce

0

Bu makinede görünümüm yok ve önümüzdeki haftaya kadar bakış açısına sahip bir windows makinesine erişimim olmayacak. Ama temel olarak, böyle bir şey yapmak istersiniz:

Sub test()
Dim oFolder As outlook.folder
Dim oAttachment As outlook.attachment
Dim oMailItem As outlook.mailitem
Dim oItem As Object

set oFolder = 'get the folder you want to print from

Dim i As Integer
Dim j As Integer

For i = 1 To oFolder.items.Count
    Set oMailItem = oFolder.items(i)
    oMailItem.PrintOut

    If oMailItem.attachments.Count > 0 Then
        For j = 1 To oMailItem.Attachments.Count
              'below you might need to change the attachment(j) to items(j)
            Set oAttachment = oMailItem.attachment(j)
            oAttachment.PrintOut
        Next
    End If

Next

End Sub

Bu nedenle, e-postaları arayan klasörden geçer, yazdırır ve ekleri kontrol eder ve bulunursa onları da yazdırır.

Dediğim gibi bir bakış açım yok, bu yüzden bunu test edemiyorum.

Canlı verilere devam etmeyin!

Siz olsaydım, yeni bir klasöre üç KOPYALANMIŞ e-posta gibi koyar ve canlı verilere dokunmadan önce bunları test ederdim . Nasıl yapılacağını araştırmanız gerekebilirset oFolder


Bu konudaki zamanınızı gerçekten takdir ediyorum. Buna benzer bir kod buldum, ancak zip dosyaları (eklerimizin en az% 50'si olan) üzerinde parlaklık eğilimi gösteriyor. Bence, VBA'nın bir adım daha ileri gitmesi ve bir noktada bir zip çıkarma aracına erişmek için C ++ 'ı çağırması gerekebilir. Ayrıca, WinZip'in bir ekstre ajanı çok hantal olabileceğini düşünüyorum. Hangilerinin bunun için işe yarayabileceğini söyleyebilirim, ancak moderatör zaten bu yazının yazılım tanıtım yönleri ile temas halinde.
user4167750

Hala .zip dosyalarını atlıyor mu? Belki de bu sistem çapında bir ayar veya vba aracılığıyla winzip'e aktarılabilecek bir argüman. Kod hata veriyor mu yoksa sadece .zip yazdırmıyor mu?
Raystafarian

Evet, winzip'e geçilebileceğinin haklı olduğunu düşünüyorum, ancak VBA ile yapılabileceğinden emin değilim. Sorunun eki (bu durumda zip dosyası) açıldıktan sonra, Outlook'un VBA betiğinin harici veya kapsam dışında olduğunu düşünüyorum. Onunla oynamaya devam edeceğim. Yay hafta sonu çalışması!
user4167750
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.