VisualBasic Outlook Postfach auslesen

doppelpunkthexe

Cadet 1st Year
Registriert
Nov. 2012
Beiträge
12
Hi, ich bin derzeit am Probieren wie ich die Mails meines Outlook-Clients auslesen kann.
Mein Lösungsansatz ist bisher der Folgende:

Code:
Public Class accessConnector

    Public tempApp As Outlook.Application
    Public tempInbox As Outlook.MAPIFolder
    Public InboxItems As Outlook.Items
    Public tempMail As Object

    Public Sub readMyMails()
        Dim tempApp As Outlook.Application
        Dim tempInbox As Outlook.MAPIFolder
        Dim InboxItems As Outlook.Items
        ' Dim tempMail As Object
        ' Dim objattachments, objAttach 
        tempApp = CreateObject("Outlook.Application")
        tempInbox = tempApp.GetNamespace("Mapi").GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
        InboxItems = tempInbox.Items
        Dim newMail As Outlook.MailItem
        For Each newMail In InboxItems
            If newMail.UnRead Then
                Dim des As String = newMail.Body
                MsgBox(des, , "Result")
            End If
        Next

    End Sub

End Class

Diese Lösung soll mir die ungelesenen Mails meines Postfachs anzeigen.
Die Funktion kann auch ohne Fehler ausgeführt werden, allerdings werden keine Mails gefunden - also keine MessageBoxen ausgegeben.
Mache ich irgendetwas falsch?
Mein Ziel ist es übrigens, dass ich die Betreff-Zeile auslese und in meinem GUI in einer ListBox anzeigen lasse (siehe Anhang).

Hat jemand eine Idee?
 

Anhänge

  • o2m_gui.png
    o2m_gui.png
    15,7 KB · Aufrufe: 218
Habe es mal spontan nachgebaut und funktioniert problemlos (mein Outlook läuft aber bereits die ganze Zeit).

Hast du mal InboxItems gecounted, ob er überhaupt etwas findet?
 
sicher, dass du den richtigen ordner ausliest?
lass mal alles ausgeben ohne "If newMail.UnRead Then"...
 
Achja, ich würde auch

1. davon absehen so massiv viele Public Variablen in der Class zu deklarieren

und vor allem

2. dann in der Sub nochmal Variablen mit dem selben Namen zu benutzen
 
Zurück
Oben