Imparare a stampare PDF allegati da Microsoft Outlook utilizzando Visual Basic per Applications Edition (VBA) può risparmiare tempo quando è necessario stampano molti allegati in formato PDF. VBA è un linguaggio di programmazione utilizzato in tutte le applicazioni di Microsoft Office per automatizzare attività quali la stampa di file. In Outlook, è possibile creare procedure dove il codice VBA viene aggiunto ed eseguito utilizzando l'Editor di Visual Basic. Utilizzare la libreria "ShellExecute" per eseguire il comando di stampa e stampare un file PDF. È possibile creare un paio di "per... Loop"per cercare PDF allegati nella cartella posta in arrivo e stamparle.
Istruzioni
1
Avviare Microsoft Outlook, fare clic sul menu "Strumenti" e scegliere "Macro > Visual Basic Editor" per aprire le finestre di Visual Basic Editor. Fare clic sul menu "Inserisci" e scegliere "Modulo" per aggiungere un nuovo modulo di codice VBA.
2
Copiare e incollare il codice seguente per definire la funzione di "ShellExecute" che si utilizzerà per stampare i file PDF:
Public Declare Function ShellExecute Lib "shell32. dll" Alias "ShellExecuteA"
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String _
ByVal nShowCmd As Long) As Long
3
Aggiungere la seguente funzione per chiamare la funzione di "ShellExecute" e stampare il file PDF corrente:
Funzione printFile (pdfName As String)
ShellExecute 0, "Stampa", pdfName, vbNullString, "", 1
End Function
4
Copiare e incollare il codice seguente per scorrere in ciclo tutti gli elementi di posta e stampare gli allegati PDF trovati utilizzando la stampante predefinita:
Public Sub PrintAttachments()
Dim myInbox As MAPIFolder
Dim mailItem As mailItem
Dim attchmt As Attachment
Dim pdfName As String
Set myInbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
For Each mailItem In myInbox.Items
For Each attchmt In mailItem.Attachments
If (InStr(1, attchmt, ".pdf", vbTextCompare) <> 0) Then
pdfName = "C:\Temp\" & attchmt.fileName
attchmt.SaveAsFile pdfName
Call printFile(pdfName)
End If
Next
Next
Set myInbox = Nothing
End Sub
5
Premere "F5" per eseguire il codice. Il codice salverà tutti gli allegati in formato PDF in "C:\Temp" prima di stamparle.