Я собираю несколько VBA в Outlook, чтобы отправить вложения PDF из папки Outlook в папку в C: \ Temp \ и затем распечатать их на принтере по умолчанию.
Проблема в том, что открывает Acrobat Reader для списка файлов «Недавние» и фактически не отправляет ничего на принтер по умолчанию.
Мой текущий код:
Option Explicit
Public Sub PrintAttachments()
Dim Inbox As MAPIFolder, Item As MailItem, Atmt As Attachment, FileName As String, i As Integer, Path As String
Set Inbox = Outlook.Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("Batch Prints")
For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
Path = "C:\Temp\Batch Prints\"
If Len(Dir(Path, vbDirectory)) = 0 Then MkDir Path
FileName = Path & Atmt.FileName
Atmt.SaveAsFile FileName
Call PrintPdf(FileName)
Next
Next
Set Inbox = Nothing
End Sub
Public Sub PrintPdf(Filepath As String)
Shell "C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe /p /h " & Chr(34) & Filepath & Chr(34), vbHide
End Sub
Ошибка не возникает, и выполняется пошаговое выполнение кода не намекает на какие-либо проблемы, но приложение Acrobat Reader будет открываться вместо печати.
Есть ли что-то очевидное, чего мне не хватает, чтобы иметь эти файлы на самом деле отправляются на принтер по умолчанию?
Спасибо!