MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Outlook (Express), sonst. Mailprogramme
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 19.06.2019, 15:23   #16
SDAU_Jens
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Jetzt ist doch noch ein Problem aufgetaucht:
Wenn mehrere Anhänge dran sind, wird die Mail entsprechend der Anzahl der Anhänge multipliziert im "Rechnungsarchiv" angezeigt.

Wie könnte man das noch richtig schieben? Den Move hinters letzte Next?
SDAU_Jens ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 21.06.2019, 10:35   #17
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von SDAU_Jens Beitrag anzeigen

Den Move hinters letzte Next?

Hallo Jens,
ich würde es hinter dem End If positionieren.
LG M
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.06.2019, 10:58   #18
SDAU_Jens
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Super, hat geklappt. Hier das Endergebnis mit der Erweiterung, dass die bearbeiteten Mails als gelesen markiert werden.

Ganz herzlichen Dank Markus!
Code:

Option Explicit
Option Compare Text
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
Public Sub PrintSelectedAttachments()
  Dim Archive As Outlook.Folder
  Dim obj As Object
  
  Set Archive = Session.Folders.Item("invoice@firma.com").Folders("Rechnungsarchiv")
  For Each obj In Application.ActiveExplorer.Selection
    If TypeOf obj Is Outlook.MailItem Then
      PrintAttachments obj, Archive
    End If
  Next
End Sub
Private Sub PrintAttachments(oMail As Outlook.MailItem, Archive As Outlook.Folder)
  Const BasePath = "C:Testordner"
  Dim Folder As String
  Dim Path As String
  Dim colAtts As New Collection
  Dim oAtt As Outlook.Attachment
  Dim ReceivedTime As String
    
  For Each oAtt In oMail.Attachments
    If Right$(oAtt.FileName, 4) = ".pdf" Then
      colAtts.Add oAtt
    End If
  Next
    
  If colAtts.Count Then
    'Pfad
    Folder = BasePath & Right(oMail.SenderEmailAddress, Len(oMail.SenderEmailAddress) - InStr(1, oMail.SenderEmailAddress, "@"))
    If Dir$(Folder, vbDirectory) = vbNullString Then MkDir Folder
    
    'Datum formatiert
    ReceivedTime = Format$(oMail.ReceivedTime, "yyyymmddhhnnss_")
    
    'Dateien speichern und drucken
    For Each oAtt In colAtts
      Path = Folder & ReceivedTime & oAtt.FileName
      'Speichern
      oAtt.SaveAsFile Path
      'Drucken
      ShellExecute 0, "print", Path, vbNullString, vbNullString, 0
    Next
  End If
      'Gelesen-Markierung
  oMail.UnRead = False
  oMail.Save
      'Verschieben
  oMail.Move Archive
End Sub
SDAU_Jens ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.