Эта статья была написана Шоном Цаи, экспертом по хранению данных и хорошим другом TutoryBird
Вы когда-нибудь хотели распечатать каждое вложение, которое вы получаете в своем почтовом ящике Outlook? Допустим, вы подписались на бесплатную службу отправки факсов в PDF и хотите, чтобы они распечатывались автоматически, как старый факс.
Вот быстрый способ добиться этого, если вы немного освоились с VB (макро) программированием.
То, что мы показываем здесь, – это создание правила в Outlook и перемещение входящих факсимильных писем в отдельную подпапку. Используя код VB, мы создаем макрос для вас, чтобы вы могли запускать задание на печать каждого письма в этой подпапке, чтобы вам не приходилось открывать письмо и распечатывать вложения по одному.
Шаг 1
Создайте подпапку с именем «Пакетная печать» в разделе «Почтовый ящик – Ваше имя» в Outlook.
Шаг 2
Создайте правило (из меню Сервис/Правила и предупреждения) в Outlook, которое выглядит следующим образом:
Поместите адрес электронной почты вашего поставщика факсов в поле «email@myfaxservice.com». В строке темы поместите постоянный текст, который отправляется от поставщика факсов каждый раз (не вставляйте текст, который будет периодически изменяться). Третье поле «Пакетная печать» – это подпапка, которую вы только что создали на первом шаге.
Шаг 3
Создайте макрос VB. Сначала откройте редактор VB, перейдя в Tools/Macro/Visual Basic Editor. Вы должны увидеть, что редактор VB выглядит так:
Шаг 4
В левой части окна Project щелкните правой кнопкой мыши элемент Project1 и вставьте модуль с именем Module1:
Шаг 5
После создания Module1 скопируйте приведенный ниже код в окно с правой стороны, как показано в маркировке № 3.
Public Sub PrintAttachments () Dim Inbox As MAPIFolder Dim Item As MailItem Dim Atmt As Attachment Dim FileName As String Дим я как целое Установите Inbox = GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) .Parent.Folders.Item ("Пакетная печать") Для каждого элемента в Inbox.Items Для каждого пункта в элементе. все вложения сначала сохраняются во временной папке C: \ Temp. Обязательно создайте эту папку. FileName = "C: \ Temp \" & Atmt.FileName Atmt.SaveAsFile FileName 'измените папку программы соответствующим образом, если Acrobat Reader не установлен на диске C: Оболочка "" "C: \ Program Files \ Adobe \ Reader 8.0 \ Reader \ acrord32.exe" "/ h/p" "" + FileName + "" "", vbHide следующий Item.Delete 'удалите эту строку, если вы не хотите, чтобы электронное письмо было удалено автоматически следующий Установить Входящие = Ничего End Sub
Обратите внимание, что вам может потребоваться изменить строку кода, которая вызывает Acrobat, для соответствия пути в вашей системе.
Шаг 6
Теперь настройка завершена. Все электронные письма от вашего поставщика факсов будут перемещены в ваши «Пакетные распечатки», когда они поступят. Обратите внимание, что в примере мы ожидаем, что все вложения находятся в формате PDF, поэтому мы используем Acrobat acrord32.exe для печати каждого вложения.
Использование макроса
Теперь, когда вы хотите распечатать все вложения, просто перейдите к макросу и запустите макрос PrintAttachments, и все вложения будут напечатаны последовательно. Электронная почта будет удалена и перемещена в мусорное ведро после ее распечатки.
Примечание. Отпечатки направляются на принтер по умолчанию, поэтому необходимо убедиться, что установлен и выбран правильный драйвер принтера.
Надеюсь, это полезно!