Hey there,
I am running a script to print PDF attachments, which works very well.
However, there are 2 email addresses in use (reception(at)someemail(dot)com and admin(at)someemail(dot)com)
The script prints PDF attachments sent to either of the accounts, and I would like to just print PDF attachments sent to admin(at)someemail(dot)com
The code that I am using is:
I suspect the issue is NameSpace.GetDefaultFolder returns the default folder on the default store for the current profile, therefore printing all PDF attachments from both of the email addresses.Private 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 Private WithEvents Items As Outlook.Items Private Sub Application_Startup() Dim Ns As Outlook.NameSpace Dim Folder As Outlook.MAPIFolder Set Ns = Application.GetNamespace("MAPI") Set Folder = Ns.GetDefaultFolder(olFolderInbox) Set Items = Folder.Items End Sub Private Sub Items_ItemAdd(ByVal Item As Object) If TypeOf Item Is Outlook.MailItem Then PrintAttachments Item End If End Sub Public Sub PrintAttachments(oMail As Outlook.MailItem) On Error Resume Next Dim colAtts As Outlook.Attachments Dim oAtt As Outlook.Attachment Dim sFile As String Dim sDirectory As String Dim sFileType As String sDirectory = "C:\Temp_PDF_Print" Set colAtts = oMail.Attachments If colAtts.Count Then For Each oAtt In colAtts sFileType = LCase$(Right$(oAtt.FileName, 4)) Select Case sFileType Case ".pdf" sFile = ATTACHMENT_DIRECTORY & oAtt.FileName oAtt.SaveAsFile sFile ShellExecute 0, "print", sFile, vbNullString, vbNullString, 0 End Select Next End If End Sub
How do I change this to only print PDF attachments sent to admin(at)someemail(dot)com?
Any help is much appreciated.
Thank you :-)




Reply With Quote