Aprender cómo imprimir archivos PDF adjuntos de Microsoft Outlook utilizando Visual Basic para Aplicaciones ( VBA) que puede ahorrar tiempo cuando se necesita imprimir muchos archivos PDF adjuntos . VBA es un lenguaje de programación que se utiliza en todas las aplicaciones de Microsoft Office para automatizar tareas como imprimir archivos. En Outlook , puede crear procedimientos que se añade y se ejecuta mediante el Editor de VB código VBA. Utilice la biblioteca " ShellExecute " para ejecutar el comando de impresión e imprimir un archivo PDF . Usted puede crear un par de " Para ... Loops " para buscar archivos PDF adjuntos en tu bandeja de entrada e imprimirlos . Instrucciones
1
lanzamiento Microsoft Outlook, haga clic en el menú " Herramientas" y haga clic en "Editor Macro> Visual Basic " para abrir la ventana Editor VB . Haga clic en el menú " Insertar" y haga clic en " módulos" para añadir un nuevo módulo de código VBA.
2
Copia y pega el código siguiente para definir la función " ShellExecute " que va a utilizar para imprimir el PDF archivos :
Public Declare Function ShellExecute Lib " shell32.dll " Alias " ShellExecuteA " _ ( ByVal hWnd As Long , lpOperation ByVal As String , ByVal como secuencia, lpFile lpParameters _ByVal As String , lpDirectory ByVal As String , _ByVal nShowCmd As Long ) As Long
3
Añada la siguiente función para llamar a la función " ShellExecute " e imprimir el archivo PDF actual :
Función PrintFile ( pdfName Como string) ShellExecute 0 , "Imprimir" , pdfName , vbNullString , "", 1End Función
4
Copia y pega el código siguiente para recorrer todos los elementos de correo e imprimir los archivos adjuntos PDF contenidos uso de la impresora por defecto: .
PrintAttachments Public Sub () myInbox As MAPIFolderDim MailItem Como mailItemDim attchmt Como AttachmentDim pdfName Como StringSet myInbox = GetNamespace ( " MAPI ") GetDefaultFolder ( olFolderInbox ) para cada MailItem En myInbox.ItemsFor Cada attchmt En mailItem.AttachmentsIf ( InStr ( 1 , attchmt , "pdf ". , vbTextCompare ) < > 0 ) ThenpdfName = "C : \\ temp \\ " & attchmt.fileNameattchmt.SaveAsFile pdfNameCall PrintFile ( pdfName ) Fin IfNextNextSet myInbox = NothingEnd Sub
5
Press "F5 " para ejecutar el código. El código se guardará todos los archivos adjuntos PDF en "C: \\ Temp" antes de imprimirlas
.