Office: (Office 2010) Mails löschen per VBA in Access

Helfe beim Thema Mails löschen per VBA in Access in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi out there, ich schlage mich mit damit herum, Mails aus einem Outlook-Verzeichnis per VBA in eine ACCESS-Datenbank einzulesen, wenn sie den... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Jürgen.C, 23. September 2013.

  1. Mails löschen per VBA in Access


    Hi out there,

    ich schlage mich mit damit herum, Mails aus einem Outlook-Verzeichnis per VBA in eine ACCESS-Datenbank einzulesen, wenn sie den entsprechenden Betreff haben. Dabei werden Attachements in entsprechende Unterordner gespeichert und der Mail-Inhalt in strukturierte Datenfelder übergeben (Die Mails werden von einem Web-Formular generiert).

    Das Ganze funktioniert soweit auch prächtig, allerdings hake ich daran, dass die Mails nach dem Einlesen in ACCESS automatisch gelöscht werden sollen. Das funktioniert nicht, da immer nur jede 2. Mail gelöscht wird. Ich könnte mir vorstellen, dass die "for each"-Schleife durcheinanderkommt, da ja innerhalb der Schleife gelöscht wird, aber der Code wird in meherern Beispielen im Netz genau so beschrieben.

    Kann mit jemand auf die Sprünge helfen?

    Vielen Dank!
    Code:
    :)
     
    Jürgen.C, 23. September 2013
    #1
  2. Moin,
    imho müsstest du dazu einen Zähler nutzen und die Liste dann von unten nach oben durchgehen, etwa so:
    Code:
    Ich weiß leider nicht, wie und wo Outlook einen solchen Index bereitstellt.
    maike
     
  3. \@maike: Es fehlt noch Step -1, denn nur Step +1 ist Standard.
     
  4. Mails löschen per VBA in Access

    Hi,
    das steht ja im Code: Code:
    Demnach könnte es folgendermaßen klappen: Code:
    (nur eine Idee, ungetestet)

    PS:
    Besser wäre evtl. das Löschen des MailItems am Ende der Verarbeitungsschleife, dann ist sichergestellt, dass nicht zwischenzeitlich neue Mails hinzugekommen sind, die noch nicht übertragen wurden. Code:
     
    Anne Berg, 25. September 2013
    #4
  5. Das mit dem direkten Löschen in der Verarbeitungsschleife hatte ich schon probiert, aber dann verhaspelt sich diese Schleife und "verschluckt" Mails ...

    Gruß Jürgen
     
    Jürgen.C, 25. September 2013
    #5
  6. Beim löschen ändert sich ja der counter immer wieder, daher man nehme DoLoop
    Code:
    Hinweis: in den Runden klammern steht 1 und nicht i

    G
    JPA
     
  7. Sorry, das ist klar, das eigentliche Problem bleibt bestehen, Löschschleifen sollte man stets rückwärts laufen lassen.
    Aber dann hättest du die absolute Gewissheit, nur solche Mails zu löschen, die du auch verarbeitet hast.
    Also versuche mal, meine beiden Lösungsvorschläge zu kombinieren...

    Vielleicht so: Code:
     
    Anne Berg, 25. September 2013
    #7
  8. Mails löschen per VBA in Access

    Das kann ich im gezeigten Code nicht erkennen. Auslesen und löschen erfolgen in jeweils eigenen Schleifen und sollten bei gleichen Daten und gleichem Filter auch die gleichen Mails erfassen.

    Wenn die Zuordnung dann doch nicht passt, könnte man so vorgehen:
    Jedes Outlook-Item erhält bei Anlegen eine EntryID. Beim Auslesen der Mails könnte man diese EntryID erfassen (bspw. in einem Array), und für das Löschen sucht man jeweils die Mail mit der EntryID. Damit hätte man dann auch die Gewähr, dass genau die richtigen Mails zur Löschung kommen.
     
  9. Vielen Dank für die nette Unterstützung. Der Vorschlag von Anne war letztlich zielführend.

    So long ...

    Jürgen
     
    Jürgen.C, 25. September 2013
    #9
Thema:

Mails löschen per VBA in Access

Die Seite wird geladen...
  1. Mails löschen per VBA in Access - Similar Threads - Mails löschen VBA

  2. Bestimmte Mail automatisch nach X Tagen löschen

    in Microsoft Outlook Hilfe
    Bestimmte Mail automatisch nach X Tagen löschen: Hallo, ich erhalte immer einmal in der Woche Mails wobei ich immer nur die aktuellste Mail benötige und die anderen Mails veraltet sind und somit endgültig gelöscht werden können, da diese sonst...
  3. Gelöschte E-Mails auf Gmail in Outlook behalten

    in Microsoft Outlook Hilfe
    Gelöschte E-Mails auf Gmail in Outlook behalten: Hallo, ich nutze Microsoft Office Home and Business 2019 und habe via IMAP einige E-Mail-Konten eingebunden, darunter auch mein eigentliches Hauptkonto, ein Gmail-Konto. Ich nutze Outlook nur auf...
  4. Archivierung von E-Mails ohne Löschen

    in Microsoft Outlook Hilfe
    Archivierung von E-Mails ohne Löschen: Hallo, wir nutzen im Büro Microsoft 365 mit einem Exchange-Server. Da jeder Mitarbeiter seine E-Mails in seinem lokalen Outlook hat, möchten wir gerne projektrelevante E-Mails auf unserem Server...
  5. Löschen eines e-Mail-Kontos in Outlook für Mac

    in Microsoft Outlook Tutorials
    Löschen eines e-Mail-Kontos in Outlook für Mac: Löschen eines e-Mail-Kontos in Outlook für Mac Outlook für Microsoft 365 für Mac Outlook 2016 für Mac Outlook 2019 für Mac Mehr... Weniger [ATTACH] Öffnen Sie...
  6. Löschen von e-Mails in Outlook.com

    in Microsoft Outlook Tutorials
    Löschen von e-Mails in Outlook.com: Löschen von e-Mails in Outlook.com Outlook.com Mehr... Weniger Sie können e-Mails aus Outlook.com einzeln, mehrere...
  7. Outlook Konto löschen! Was passiert mit den Mails im anderen Ordner?

    in Microsoft Outlook Hilfe
    Outlook Konto löschen! Was passiert mit den Mails im anderen Ordner?: Szenario: Eine Kollegin hat eine Stelle Ihrer Vorgängerin übernommen. Auf dem PC ist Outlook. In Outlook ist noch das E-Mail-Konto der Vorgängerin. Sämtliche E-Mails wurden per Regel auf das...
  8. Aufgabe von E-Mail erledigen ohne Löschen E-Mail

    in Microsoft Outlook Hilfe
    Aufgabe von E-Mail erledigen ohne Löschen E-Mail: Hallo Ich schiebe manchmal E-Mails in die Aufgabenliste, so dass eine Aufgabe erstellt wird. Wenn ich die Aufgabe als "Erledigt" markiere, wird die E-Mail gelöscht. Gibt es eine Möglichkeit, die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden