Severus schrieb am 14.12.2010 19:29:50:
Stefan76 schrieb am 14.12.2010 16:45:08:
Hallo Leute,
aktuell lasse ich in Outlook 2003 per VBA alle PDF Anhänge in neuen Mails
automatisch Drucken. Ist es möglich nur PDF Anhänge von bestimmten Absendern wie z.b. *@123.de drucken zu lassen??
Hier mein bisheriger Code der unter ThisOutlookSession steht:
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
Private 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 = "D:\Attachments\"
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
Ich hoffe mir kann hier jemand helfen.
Schon mal Danke!!!!
Das ist für mich ein bißchen ein Problem! Privat würde ich nie Outlook verwenden. Es ist daher ein bißchen problematisch sich an die Eigenschaften zu erinnern. Ich denke aber, daß es so gehen müßte:
If InStr(1, UCase(oMail.SenderEmailAddress), "@123.DE", vbBinaryCompare) = 0 Then Exit Sub
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
Severus
Hallo hab den Code jetzt getestet leider funktioniert er nicht. Jetzt wird gar nichts mehr gedruckt! Hast
Du evtl. noch eine Idee!?!#
Gruß |