It works here, unless the PDF file is protected against printing.
Try the following variation - and if it is the extra period that is causing the problem, remove the apostrophe that is blocking the line
sFile = Replace(Left(sFile, Len(sFile) - Len(sFileType)), Chr(46), "_") & sFileType
Private Sub PrintAttachments(oMail As Outlook.MailItem)
On Error Resume Next
Dim olAtts As Outlook.Attachments
Dim oAtt As Outlook.Attachment
Dim i As Long
Dim sFile As String
Dim sDirectory As String
Dim sFileType As String
Set olAtts = oMail.Attachments
If olAtts.Count > 0 Then
Select Case oMail.SenderEmailAddress
Case "emailaddress1"
sDirectory = "C:\Path\Folder1\"
Case "emailaddress2"
sDirectory = "C:\Path\Folder2\"
Case Else: Exit Sub
End Select
End If
For i = olAtts.Count To 1 Step -1
Set oAtt = olAtts(i)
sFile = olAtts(i).fileName
sFileType = Right(sFile, Len(sFile) - InStrRev(sFile, Chr(46)) + 1)
Select Case sFileType
Case ".xlsx", ".docx", ".pdf", ".doc", ".xls"
sFile = oAtt.fileName
'sFile = Replace(Left(sFile, Len(sFile) - Len(sFileType)), Chr(46), "_") & sFileType
sFile = sDirectory & sFile
oAtt.SaveAsFile sFile
ShellExecute 0, "print", sFile, vbNullString, vbNullString, 0
End Select
Next i
Set oAtt = Nothing
Set olAtts = Nothing
End Sub