Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Outlook: Unterordner eines Postfaches wird scheinbar nicht gefunden
07.01.2016 15:46:11 Marcel
NotSolved
07.01.2016 15:49:43 Marcel
NotSolved
07.01.2016 16:02:07 Gast36946
NotSolved
07.01.2016 17:01:01 Marcel
NotSolved

Ansicht des Beitrags:
Von:
Marcel
Datum:
07.01.2016 15:46:11
Views:
1578
Rating: Antwort:
  Ja
Thema:
VBA Outlook: Unterordner eines Postfaches wird scheinbar nicht gefunden

Moin,

ich habe ein Skript geschrieben, welches täglich eingehende Mails zur Datensicherung in spezielle Unterordner verschieben soll.

Irgendwann führt das Skript folgende Prozedur aus:

Private Sub SetDASIOrdner(sDASIOrdner As String)
    'Outlook Objekt erzeugen
    Set olAnwendung = CreateObject("Outlook.Application")

    'Jeweils den richtigen DASI-Ordner setzen
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk") _
                                          .Folders("Posteingang") _
                                          .Folders("1a - Datensicherungen") _
                                          .Folders(sDASIOrdner)
End Sub

Die Variablen olAnwendung und olOrdnerDASI werden im Kopf des Userforms gesetzt:

Dim olAnwendung As Outlook.Application      'Um Outlookobjekt zu erzeugen
Dim olOrdnerDASI As Outlook.MAPIFolder      'Zielordner zum Wegsortieren der DASI-Mails

Nun erhalte ich an der Stelle Set olOdnerDASI = ... von Zeit zu Zeit einen Laufzeitfehler:

Laufzeitfehler -2147221233 (8004010f)
Der Vorgang konnte nicht ausgeführt werden, Ein Objekt wurde nicht gefunden.

Komischerweise funktioniert nach dem Start von Outlook das Skript einmal ohne Probleme, erst beim zweiten Durchlauf kommt  es zu dem Fehler. Starte ich Outlook neu, funktioniert das Skript wieder.

Nun habe ich testweise auch folgende Variante der betroffenen Prozedur genutzt:

Private Sub SetDASIOrdner(sDASIOrdner As String)
    'Outlook Objekt erzeugen
    Set olAnwendung = CreateObject("Outlook.Application")
    'Namespace MAPI setzen
    Set olNamensraum = olAnwendung.GetNamespace("MAPI")

    'Jeweils den richtigen DASI-Ordner setzen
    Set olOrdnerDASI = olNamensraum.Folders("Servicedesk") _
                                   .Folders("Posteingang") _
                                   .Folders("1a - Datensicherungen") _
                                   .Folders(sDASIOrdner)
End Sub

(olNamensraum ist auch im Kopf als Outlook.NameSpace deklariert)

Das Ergebnis ist allerdings das selbe.

Wenn ich nun Testweise mal folgendes mache:

Private Sub SetDASIOrdner(sDASIOrdner As String)
    'Outlook Objekt erzeugen
    Set olAnwendung = CreateObject("Outlook.Application")

    'Jeweils den richtigen DASI-Ordner setzen
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk")
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk").Folders("Posteingang")
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk").Folders("Posteingang").Folders("1a - Datensicherungen")
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk").Folders("Posteingang").Folders("1a - Datensicherungen") .Folders(sDASIOrdner)
End Sub

erhalte ich in der dritten Zeile von Set olOrdnerDASI den Laufzeitfehler.

Wenn ich wiederum mir nun die Unterordner des Verzeichnises 'Posteingang' ausgeben lasse mit folgender Prozedur:

Private Sub CommandButton1_Click()
    Dim folder As Outlook.folder

    Set olAnwendung = CreateObject("Outlook.Application")
    Set olOrdnerDASI = olAnwendung.Session.Folders("Servicedesk") _
                                          .Folders("Posteingang") _
                                          .Folders("1a - Datensicherungen")

    For Each folder In olOrdnerDASI.Folders
    Debug.Print folder.Name
    Next
End Sub

werden keine Unterordner gelistet obwohl diese existieren (beim ersten Versuch klappt es ja immer).

Weiß hier jemand Rat oder hat eine Idee warum er den Unterordner beim ersten Durchlauf findet und beim zweiten nicht? (Ab und zu klappt es auch eine Weile mehrmals hintereinander und ganz plötzlich nicht mehr, bis ich Outlook neustarte).

Weiterhin ist auch der Rest meines Skriptes nicht schuld an der Misere, da ich diese Prozedur testweise auch solo hab durchlaufen lassen, natürlich mit dem selben unschönen Ergebnis.

Zu meiner Infrastruktur:

Ich nutze Office 2013 und habe das Postfach "Servicedesk" als Extra Postfach in mein privates Postfach eingebunden. Beides sind Exchange Postfächer im Exchange-Cache-Modus.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Outlook: Unterordner eines Postfaches wird scheinbar nicht gefunden
07.01.2016 15:46:11 Marcel
NotSolved
07.01.2016 15:49:43 Marcel
NotSolved
07.01.2016 16:02:07 Gast36946
NotSolved
07.01.2016 17:01:01 Marcel
NotSolved