Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1288to1292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Outlook 2010: PDF Anlage bei Empfang drucken

Outlook 2010: PDF Anlage bei Empfang drucken
21.12.2012 20:25:03
Marius
Geschaetzte Community,
wir haben einen Unternehmensprozess, wo ich von einer bestimmten Person, und auch nur von dieser, eine PDF Anlage erhalte. Nun soll Outlook automatisch durch eine Regel diesen Anhang drucken.
Im Internet werde ich nicht fuendig, da Outlook 2010 anscheinend anders agiert als seine Vorgaengerversionen. Ich habe diesen Link gefunden: http://www.experts-exchange.com/Software/Office_Productivity/Groupware/Outlook/A_2924-Automatically-Printing-Saving-Emails-Attachments-in-Outlook.html
Aber der ist nur fuer Outlook 2007 geeignet.
Marius

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook 2010: PDF Anlage bei Empfang drucken
22.12.2012 11:04:37
mumpel
Hallo!
Wenn ihr VBA benutzen dürft, dann kannst Du es mit folgendem Code versuchen. Der Code muss in "ThisOutlookSession". Du musst dann noch die Emailadresse anpassen
Gruß, René

AW: Outlook 2010: PDF Anlage bei Empfang drucken
26.12.2012 16:19:17
Marius
Hey René,
erst mal vielen Dank fuer die schnelle Hilfe. Leider druckt mein Outlook den Anhang nicht. Ich bekomme auch nicht die MessageBox.
Ich habe die Sicherheitsstufe angepasst. Wenn ich Outlook oeffne, fragt es mich, ob ich die Makros in ThisOutlookSession aktivieren moechte.
Kann es vielleicht daran liegen, dass ich mit einem Exchange Server verbunden bin? Oder liegt es an "MAPI" ?
Ich habe den Pfad geaendert, weil ich keine D-Partitur habe. Ausserdem habe ich einen Ordner "mails" in Partitur C angelegt. Sollen da die PDF Anlagen abgespeichert werden?
Private Const MAIL_PATH As String = "c:\mails\"

Anzeige
AW: Outlook 2010: PDF Anlage bei Empfang drucken
22.12.2012 11:53:43
Luschi
Hallo Marius,
der Programmcode aus dem Link klappt auch unter O2010. Allerdings mit ein paar kleinen Änderungen.
- es muß der Vba-Verweis 'Microsoft Scripting Runtime' gesetzt werden (wegen Early Binding von 'objFSO As FileSystemObject')
- im Menüband von O2010 habe ich keine Button gefunden zum Erstellen und Verwalten von Regeln und mußte es erstmal einbinden. Userbild
Gruß von Luschi
aus klein-Paris
PS: Das Makro funktioniert auch mit in O2010 eingebundenen Internet-EMail-Konten!
Erstaunlich, das O2010 immer noch nicht den Dateityp 'pdf' als Standardvariable kennt.

Anzeige
AW: Outlook 2010: PDF Anlage bei Empfang drucken
22.12.2012 12:10:01
mumpel
Der Code im Link ist IMHO total überladen. Mein Code ist kürzer und funktioniert auch ohne Verweise.

AW: Outlook 2010: PDF Anlage bei Empfang drucken
26.12.2012 16:22:49
Marius
Hey Luschi,
vielen Dank fuer deine Antwort.
Leider bin ich kein VBA Profi und kann mit dem, was du mir geschildert hast, nicht so recht was anfangen. Kannst du mir das anleiten, was ich zu scripten habe?
Also den Code aus dem Link konnte ich soweit in eine Regel einbinden, das war kein Problem. Nachdem ich die Email bekommen habe, hat er mir eine MessageBox ausgeworfen mit "Regelfehler".

AW: Outlook 2010: PDF Anlage bei Empfang drucken
27.12.2012 10:51:13
mumpel
In den VBA-Editor wechseln. Dort Doppelklick auf "ThisOutlookSession" (oder "DieseOutlookSitzung"). Dorthineine den Code. Dann im Code bei "oMail.SenderEmailAddress" noch die Eaimladresse anpassen. Mehr musst Du nicht machen.
Die erwähnte Zeile "Private Const MAIL_PATH As String = "c:\mails\"" ist eigentlich überflüssig, die ist ein Coderest aus einem anderen Code.
In die Outlook-Regel einbinden darfst Du den Code auf keinen Fall, musst Du auch nicht. Bei diesem Code handelt es sich um einen automatisch ablaufenden Prozess, der jede eingehende Email auf den Absender prüft. Stimmt der Absender mit den Angaben bei "oMail.SenderEmailAddress" überein wird der Anhang gedruckt.
Wenn das Makro bei Dir nicht funktioniert könnte es tatsächlich an Exchange liegen. Kann ich aber nicht testen, da ich kein Exchange habe. Eventuell mal "oMail.SenderEmailAddress" ersetzen mit "oMail.Sender" und dann den Namen (Anzeigenamen) angeben anstatt der Emailadresse.

Anzeige
Nachtrag
27.12.2012 10:53:53
mumpel
Oder mit "oMail.SenderName" versuchen.

AW: Outlook 2010: PDF Anlage bei Empfang drucken
27.12.2012 16:53:20
Marius
Hey,
ich habe den Code jetzt auf einem anderen Rechner ohne Exchange ausprobiert. Als ich die Makros aktivieren wollte, hat er mir einen Fehler eingeworfen, dass ich den Code fuer eine 64 Bit Version konfigurieren muss. Fehlermeldung ist im Anhang
https://www.herber.de/bbs/user/83147.jpg
Waere super, wenn du mir dabei helfen koenntest. Wie bloed ist Microsoft eigentlich, dass man solche Funktionen bis heute noch nicht in die Vollversion reinpackt.

AW: Outlook 2010: PDF Anlage bei Empfang drucken
27.12.2012 17:40:17
Marius
Ich habe einen aehnlichen Code genommen, der funktioniert.
Kann man den Code noch so umschreiben, dass er nur Anhaenge von bestimmten Emails druckt. Sozusagen, diesen Code mit deinem IF SenderEmailAdress Code kombinieren?

' Written by Michael Bauer, vboffice.net
' http://www. _
vboffice.net/sample.html?mnu=2&lang=en&smp=3&cmd=showitem
' use  Declare PtrSafe Function with 64-bit Outlook
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 = "C:\Attachments\"
Set colAtts = oMail.Attachments
If colAtts.Count Then
For Each oAtt In colAtts
' This code looks at the last 3 characters in a filename
' Change it to 5 to work with docx and xlsx files
sFileType = LCase$(Right$(oAtt.FileName, 4))
Select Case sFileType
' Add additional file types below
Case ".xls", ".pdf"
sFile = ATTACHMENT_DIRECTORY & oAtt.FileName
oAtt.SaveAsFile sFile
ShellExecute 0, "print", sFile, vbNullString, vbNullString, 0
End Select
Next
End If
End Sub

Anzeige
AW: Outlook 2010: PDF Anlage bei Empfang drucken
27.12.2012 19:05:08
mumpel
Dieses Problem betrifft nur die Funktion "ShellExecute". Mit 64-bit-Office bin ich nicht sehr vertraut. Du müsstest eine bedingte Kompilierung einsetzen. Stichwort "PtrSafe" und "LongPtr". Auch der Code von Michael Bauer dürfte so nicht funktionieren, da der ("ShellExecute") auch nur für 32-bit geschrieben ist. Mein Beispielcode ist übrigens auch nur eine Abwandlung des Codes von Michael, den Du gefunden hast.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige