Как автоматично да отпечатвам прикачени файлове, когато имейлите пристигнат в Outlook?
Този урок демонстрира метод за комбиниране на VBA скрипт и правило на Outlook, за да ви помогне автоматично да отпечатвате прикачени файлове на определени имейли, когато пристигнат в Outlook.
Автоматично отпечатване на прикачени файлове, когато пристигнат определени имейли
Да предположим, че искате автоматично да отпечатате прикачени файлове на входящи имейли от определен подател. Можете да направите следното, за да го направите.
Стъпка 1: Създайте скрипт в Outlook
Първо, трябва да създадете VBA скрипт в Outlook.
1. Стартирайте вашия Outlook, натиснете Друг + F11 клавиши едновременно, за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, щракнете два пъти върху Project1 > Обекти на Microsoft Outlook > ThisOutlookSession за да отворите ThisOutlookSession (код) прозорец и след това копирайте следния код в този прозорец с код.
VBA код 1: Автоматично отпечатване на прикачени файлове (всички видове прикачени файлове), когато пристигнат имейли
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
Забележка: Този код поддържа отпечатване на всички видове прикачени файлове, получени в имейли. Ако искате да отпечатате само определения тип прикачен файл, като например pdf файлове, моля, приложете следния VBA код.
VBA код 2: Автоматично отпечатване на определения тип прикачени файлове, когато пристигнат имейли
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
бележки:
3. Продължете и щракнете Инструменти > Препратки. В изскачащите Референции – Проект1 диалоговия прозорец, проверете Microsoft Scripting Runtime и след това щракнете върху OK бутон.
4. Запазете кода и натиснете Друг + Q ключове за затваряне на Microsoft Visual Basic за приложения прозорец.
Забележка: Моля, уверете се, че Активирайте всички макроси опцията е активирана във вашия Outlook. Можете да проверите тази опция, като следвате стъпките, показани по-долу.
Стъпка 2: Създайте правило за използване на скрипта
След като добавите VBA скрипта в Outlook, трябва да създадете правило за използване на скрипта въз основа на определени условия.
1. Отидете в раздела Начало, щракнете Правилник > Управление на правила и сигнали.
2. В Правила и сигнали кликнете върху Ново правило бутон за създаване на правило.
Съвет: Ако сте добавили няколко имейл акаунта към вашия Outlook, моля, посочете акаунт в Приложете промените към тази папка падащ списък, където искате да приложите правилото. В противен случай ще се приложи към входящата кутия на текущо избрания имейл акаунт.
3. В първия Съветник за правила изберете диалоговия прозорец Прилагане на правилото за получените от мен съобщения в Стъпка , след което щракнете върху Next.
4. Във втория Съветник за правила диалогов прозорец, трябва да:
5. В третата Съветник за правила диалогов прозорец, трябва да конфигурирате както следва.
Съвет: Ако „стартирайте скрипт” липсва във вашия Съветник за правила, можете да го покажете, като следвате метода, споменат в тази статия: възстановяване на липсващото правило Run A Script pption в Outlook.
6. След това още един Съветник за правила изскача с молба за изключения. Можете да изберете изключенията, ако е необходимо, в противен случай щракнете върху Напред бутон без никакви селекции.
7. В последното Съветник за правила, трябва да зададете име за правилото и след това да щракнете върху завършеност бутон.
8. След това се връща към Правила и сигнали диалогов прозорец, можете да видите създаденото от вас правило, посочено вътре, щракнете върху OK бутон, за да завършите всички настройки.
Отсега нататък, когато се получи имейл от посочения човек, прикачените файлове ще се отпечатват автоматично.
Свързани статии
Отпечатайте само прикачен(и) файл(и) от един имейл или избрани имейли в Outlook
В Outlook можете да отпечатате имейлите, но отпечатали ли сте прикачените файлове само от един имейл или избрани имейли в Outlook? Тази статия представя триковете за решаване на тази задача.
Отпечатайте само заглавката на съобщението на имейл в Outlook
Когато отпечатвате имейл в Outlook, той ще отпечата както заглавката, така и тялото на съобщението в имейла. В някои специални случаи обаче може просто да се наложи да отпечатате заглавката на съобщението с темата, подателя, получателите и т.н. Тази статия ще представи две решения за това.
Отпечатайте календар в определен/персонализиран период от време в Outlook
Обикновено, когато отпечатвате календар в месечен изглед в Outlook, той автоматично ще избере месеца, съдържащ текущо избраната дата. Но може да се наложи да отпечатате календара в персонализиран диапазон от дати, като 3 месеца, половината от годината и т.н. Тази статия ще ви представи решението.
Отпечатайте контакт със снимка в Outlook
Обикновено снимката на контакт няма да се отпечата при отпечатване на контакта в Outlook. Но понякога ще бъде по-впечатляващо да отпечатате контакт с неговата снимка. Тази статия ще представи някои заобиколни решения, за да го направите.
Отпечатайте селекция от имейл в Outlook
Ако получите имейл съобщение и установите, че има селекция от имейл съдържание, което трябва да бъде отпечатано, вместо да отпечатате цялото съобщение, какво бихте направили? Всъщност Outlook може да ви помогне да постигнете тази операция с помощта на интернет браузъри, като Firefox и Internet Explorer. Тук ще взема за пример интернет браузърите. Моля, разгледайте следните уроци.
Най-добрите инструменти за продуктивност в офиса
Kutools за Outlook - Над 100 мощни функции, за да заредите вашия Outlook
🤖 AI Mail Assistant: Незабавни професионални имейли с AI магия - с едно щракване до гениални отговори, перфектен тон, многоезично владеене. Трансформирайте имейла без усилие! ...
📧 Автоматизиране на имейли: Извън офиса (налично за POP и IMAP) / График за изпращане на имейли / Автоматично CC/BCC по правила при изпращане на имейл / Автоматично пренасочване (разширени правила) / Автоматично добавяне на поздрав / Автоматично разделяне на имейлите с множество получатели на отделни съобщения ...
📨 Управление на Email: Лесно извикване на имейли / Блокиране на измамни имейли по теми и други / Изтриване на дублирани имейли / подробно търсене / Консолидиране на папки ...
📁 Прикачени файлове Pro: Пакетно запазване / Партидно отделяне / Партиден компрес / Автоматично запазване / Автоматично отделяне / Автоматично компресиране ...
🌟 Магия на интерфейса: 😊 Още красиви и готини емотикони / Увеличете продуктивността на Outlook с изгледи с раздели / Минимизирайте Outlook, вместо да затваряте ...
???? Чудеса с едно кликване: Отговорете на всички с входящи прикачени файлове / Антифишинг имейли / 🕘Показване на часовата зона на подателя ...
👩🏼🤝👩🏻 Контакти и календар: Групово добавяне на контакти от избрани имейли / Разделете група контакти на отделни групи / Премахнете напомнянията за рожден ден ...
Над 100 Характеристики Очаквайте вашето проучване! Щракнете тук, за да откриете повече.