Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Outlook-Ordner auslesen
zurück: Bedingte Format. per VBA Problem bei disa. format condition weiter: Access Datenbank mit VBA Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Apr 2012, 19:17
Rufname:
Wohnort: NRW

Outlook-Ordner auslesen - Outlook-Ordner auslesen

Nach oben
       Version: Office 2003

Hallo miteinander,

ich möchte alle Ordner eines Outlook-Postfachs (rekursiv!) auslesen mit dem Ziel, die Mail-Header Informationen in einer Tabelle zu speichern, um mir im Anschluss daran die Aufräumarbeiten zu erleichtern.

Hierzu habe ich schon mal folgendes Gerüst erstellt, um einen ersten Einstieg in die Materie zu bekommen, scheitere aber bereits bei der Übergabe eines Folders an die Sub-Routine. Fehler 424 - Objekt erforderlich.
Code:
Option Compare Database
Option Explicit

    Dim objOutlook      As Outlook.Application
    Dim objNameSpace    As Outlook.NameSpace
    Dim objFolder       As Outlook.MAPIFolder
    Dim subFolder       As Outlook.MAPIFolder
    Dim tmpFolder       As Outlook.MAPIFolder
   
Sub get_folders()
    Dim MailItem        As Variant
    Dim i               As Long
   
    Set objOutlook = New Outlook.Application
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objFolder = objNameSpace.Folders("Postfach - xyz")   
    For Each subFolder In objFolder.Folders
        get_mails (subFolder)       ' <=== hier ist Feierabend
    Next subFolder
    Set objOutlook = Nothing
    Set objNameSpace = Nothing
    Set objFolder = Nothing
End Sub

Sub get_mails(curFolder As Outlook.MAPIFolder)
    Dim i
    With curFolder
        Debug.Print .Name, .FullFolderPath
        For i = 1 To .Items.Count
            ' Mails auslesen         ' <=== und wie geht es hier weiter?
        Next
        If .Folders.Count > 0 Then
            For i = 1 To .Folders.Count
                get_mails (.Folders(i))
            Next i
        End If
    End With
End Sub

Was mache ich falsch? Ich hoffe sehr auf eure Hilfe.

Vielleicht muss ich noch dazu sagen, dass es sich um einen Exchange-Server handelt - kann man da überhaupt so herangehen?

_________________
Gruß MissPh!
Sonneschein
AC97-Entwicklung, AC2003-2010 nur Test


Verfasst am:
24. Apr 2012, 20:20
Rufname: Mike

AW: Outlook-Ordner auslesen - AW: Outlook-Ordner auslesen

Nach oben
       Version: Office 2003

Hallo,
Code:
        get_mails subFolder       
' oder
        Call get_mails(subFolder)
... nur als Ansatz ohne (groß) nach zu denken:
Code:
Sub get_mails(curFolder As Outlook.MAPIFolder)
    Dim i As Integer, mi As Object
   
    With curFolder
        Debug.Print .Name, .FullFolderPath & ":"
        For Each mi In .Items
            If (TypeOf mi Is MailItem Or TypeOf mi Is PostItem) Then _
                Debug.Print mi
        Next mi
        If .Folders.Count > 0 Then
            For i = 1 To .Folders.Count
                get_mails (.Folders(i))
            Next i
        End If
    End With
End Sub

Btw: Ich erstelle unbekannten Code immer erst in der Zielanwendung - hier also Outlook

_________________
Grüße
Mike
MissPh!
Office-VBA-Programmiererin


Verfasst am:
25. Apr 2012, 09:14
Rufname:
Wohnort: NRW


AW: Outlook-Ordner auslesen - AW: Outlook-Ordner auslesen

Nach oben
       Version: Office 2003

Hallo,

vielen Dank, das bringt mich schon ein gutes Stück weiter, auch wenn ich nicht verstehe, warum
Code:
get_mails(subFolder)
etwas anderes ist als
Code:
        get_mails subFolder       
' oder
        Call get_mails(subFolder)
bislang hat das bei Übergabe eines einzelnen Parameters auch mit den Klammern immer funktioniert, dachte ich.

Das nächste Problem(chen) ist, dass ich beim Debuggen die Eigenschaften des MailItems nicht einsehen kann, ich also nicht herausfinden kann, welche Informationen für mich nützlich sein könnten. Wie kommt das? Ich bin es gewohnt, mir beim Testen die Eigenschaften der Objekte im Lokalfenster anzusehen, bei "mi" steht dort allerdings immer nur "keine Variablen".
Hast du dazu evtl. auch noch einen Tipp?

Nachtrag:
Kaum geschrieben, da hatte ich schon selbst eine Idee! So klappt's auch mit dem Lokalfenster:
Code:
    Dim i, j, mi As Outlook.MailItem
    With curFolder
        For Each i In .Items
            If (TypeOf i Is MailItem Or TypeOf i Is PostItem) Then
                Set mi = i

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Auslesen einer Matrix 2 maxpower 593 03. Jul 2009, 11:00
Gast Auslesen einer Matrix
Keine neuen Beiträge Access Tabellen & Abfragen: Daten aus Access Tabelle auslesen 7 JahNik 1696 08. Jun 2009, 01:41
Willi Wipp Daten aus Access Tabelle auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Ordner auf der Festplatte auslesen 10 Levin 2136 21. Apr 2009, 14:03
TommyK Ordner auf der Festplatte auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Informationen in mehreren Tabellen suchen und auslesen 4 informatikerin 477 07. Apr 2009, 08:00
informatikerin Informationen in mehreren Tabellen suchen und auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Datumsfeld nach Feiertagen auslesen 3 der_Jochen 309 22. März 2009, 22:52
Willi Wipp Datumsfeld nach Feiertagen auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: String von hinten auslesen und alles vor / löschen 1 Gast 2941 19. Aug 2008, 10:28
KlausMz String von hinten auslesen und alles vor / löschen
Keine neuen Beiträge Access Tabellen & Abfragen: in Zeile springen, auslesen und verknüpfen 4 bubes 396 02. Aug 2008, 20:10
bubes in Zeile springen, auslesen und verknüpfen
Keine neuen Beiträge Access Tabellen & Abfragen: Schnittpunkt einer Matrix auslesen 0 derMatze 801 12. Feb 2008, 22:33
derMatze Schnittpunkt einer Matrix auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Ersten 3 Zeichen auslesen 1 testgast 691 15. Jan 2008, 13:04
KlausMz Ersten 3 Zeichen auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Summe + Wahrheitswert auslesen 2 pktm 373 11. Dez 2007, 11:56
pktm Summe + Wahrheitswert auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: 2 Tabellen auslesen und als excel exportieren 0 Hobo2k 391 27. Nov 2007, 10:50
Hobo2k 2 Tabellen auslesen und als excel exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: mit VBA Wert auslesen 11 Gast 2637 15. Aug 2007, 22:13
Willi Wipp mit VBA Wert auslesen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project