September 19
Imparare a stampare gli allegati PDF da Microsoft Outlook utilizzando Visual Basic, Applications Edition (VBA) consente di risparmiare tempo quando è necessario stampare molti allegati PDF. VBA è un linguaggio di programmazione utilizzato in tutte le applicazioni di Microsoft Office per automatizzare le attività come i file di stampa. In Outlook, è possibile creare procedure in cui si aggiunge il codice VBA e eseguito utilizzando l'Editor VB. Utilizzare la libreria "ShellExecute" per eseguire il comando di stampa e stampare un file PDF. È possibile creare un paio di "cicli FOR ..." per cercare gli allegati PDF nella cartella di posta in arrivo e stamparle.
1 Avviare Microsoft Outlook, fare clic sul menu "Strumenti" e fare clic su "Macro> Basic Editor" per aprire le finestre VB Editor. Fare clic sul menu "Inserisci" e fare clic su "modulo" per aggiungere un nuovo modulo di codice VBA.
2 Copiare e incollare il seguente codice per definire la funzione "ShellExecute" che verrà utilizzato per stampare i file PDF:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile come stringa,
lpParameters ByVal come stringa, ByVal lpDirectory come stringa, _
ByVal nShowCmd As Long) As Long
3 Aggiungere la seguente funzione per richiamare la funzione "ShellExecute" e stampare il file PDF corrente:
PrintFile Funzione (pdfName As String)
ShellExecute 0, "Stampa", pdfName, vbNullString, "", 1
End Function
4 Copia e incolla il seguente codice di ciclo tra tutti gli elementi di posta e stampare gli eventuali allegati in formato PDF trovati utilizzando la stampante predefinita:
PrintAttachments Public Sub ()
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 il tasto "F5" per eseguire il codice. Il codice salverà tutti gli allegati PDF in "C: \ Temp" prima di stamparle.