MS-Office-Forum
Google
   

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 Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 13.09.2017, 17:57   #16
Andre.Heisig
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Update: Der Exchange-Cache-Modus scheint in der Tat dafür zu sorgen, dass alle Mails, die nicht als "direkt verfügbar" gelten (also mutmaßlich nicht in der OST zwischengepuffert sind), von VBA nicht gezählt werden beim Ordnerdurchlauf.

Das Umstellen der Cache-Einstellungen (und der Download einiger Mails) hat das geändert.
Andre.Heisig ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 14:05   #17
Andre.Heisig
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

und ein kurzer Nachtrag für alle, die es interessiert: Der Code oben erzeugt bei mehreren Adressaten eine Kopie der Mail pro Adressat beim Verschieben!

(Für mich hier kein Problem, weil ich per VBA diese Duplikate dann einfach wegputze, nur als Info.)
Andre.Heisig ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 17:07   #18
Andre.Heisig
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Hallo nochmal,

ich mach das Ding noch mal auf. Habe den Ablauf jetzt mal so modifiziert, dass der SELECT CASE Teil außerhalb vorgenommen wird (vor allem, weil ich das dann anderswo auch nutzen kann),

Code:

    For Each olMail In Application.Session.GetDefaultFolder(olFolderSentMail).items
    
        If TypeOf olMail Is Outlook.MailItem And olMail.Recipients.Count = 1 Then
        
            For Each R In olMail.Recipients
            
                ' Wenn Zuordnung Maildomain <-> Ablage-Ordner vorhanden, dann ...
                If fct_AblageOrdnerAusMailDomain(R.Address) <> "" Then
                    strZielOrdner = fct_AblageOrdnerAusMailDomain(R.Address)
                    
                    Debug.Print "R.Address: " & R.Address
                    Debug.Print "strZielOrdner: " & fct_AblageOrdnerAusMailDomain(R.Address)
                    
                    olFolderZiel = Application.Session.GetDefaultFolder(olFolderInbox).Folders("1 | Kunden | Aufträge").Folders(strZielOrdner)
                    olMail.Move olFolderZiel
                    i = i + 1
                    
                End If
        
            Next
            
        End If
        
    Next
bekomme jetzt in der markierten Zeile einen Runtime 91 - "Objektvariable oder With-Blockvariable nicht festgelegt" Meldung. Die Auflösung von Mailadresse zu Zielordner stimmt, ich hab die Zielordner-Schreibweisen schon mit diversen Einklammerungen von " und '' versucht, ohne Erfolg.

Kann mir hier nochmal jemand durch helfen?
Andre.Heisig ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 19:35   #19
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Ein Ordner ist doch ein Objekt. Wie wärs also mit einem Set.
Aber wenn den den Ordner eh nur in einer Aktion brauchst, dann musst den wirklich nicht referenzieren.

also möglicherweise so:

olMail.Move Application.Session.GetDefaultFolder(olFolderInbox).Folders("1 | Kunden | Aufträge").Folders(strZielOrdner)

Außerdem eine For each Schleife bei einem einzigen Empfänger ist nicht unbedingt was auch immer

Also statt For Each R In olMail.Recipients

with olMail.Recipients.item(1)

Ist natürlich Geschmackssache.

Geändert von markusxy (15.09.2017 um 19:38 Uhr).
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2017, 20:25   #20
Andre.Heisig
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von markusxy Beitrag anzeigen

also möglicherweise so:

olMail.Move Application.Session.GetDefaultFolder(olFolderInbox).Folders("1 | Kunden | Aufträge").Folders(strZielOrdner)

Danke! Sorry, für Dich mag das alles direkt ersichtlich sein, ich erschließe mir das Outlook-Objektmodell gerade erst ...


Zitat: von markusxy Beitrag anzeigen

Außerdem eine For each Schleife bei einem einzigen Empfänger ist nicht unbedingt was auch immer

Das ist richtig, ich experimentiere aber mit der Anzahl der Empfänger noch rum. Aktuell werden bei mehreren Empfängern immer X Kopien der einen, zu verschiebenden Mails erzeugt, und ich hab noch nicht wirklich eine Lösung gefunden, wenn Mails an verschiedene Empfänger-Domains gehen, die für mich ja Grundlage der Ordner-Ablage sind.

Wie auch immer: Danke dir, und schönes Wochenende!
Andre.Heisig 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 02:54 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

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

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