outlook-vba - eigenschappen van een leesbevestiging/vergaderverzoek

Status
Niet open voor verdere reacties.

Morsyd

Gebruiker
Lid geworden
25 dec 2007
Berichten
165
Beste,

een korte vraag waarop jullie hopelijk een antwoord weten.

De eigenschappen .SenderName en .To (om afzender en ontvangers op te halen) werken niet bij leesbevestigingen en vergaderverzoeken in mijn outlookfolders.
Dit zijn eigenschappen van een normale mail maar bij leesbevestigingen en vergaderverzoeken krijg ik echter een foutmelding.

Code:
Sub ToonEigenschappen()
Dim objOutlook As Outlook.Application
Dim objNamespace As Outlook.NameSpace
Dim objSourceFolder As Outlook.MAPIFolder
Dim AantalMails As Integer

Set objOutlook = Application
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objSourceFolder = objNamespace.Folders(3).Folders(12).Folders(2)

AantalMails = objSourceFolder.Items.Count
    For j = 1 To AantalMails
      MsgBox objSourceFolder.Items(j).Size    'werkt wel bij alles
      MsgBox objSourceFolder.Items(j).SenderName     'werkt bij gewone mails, niet bij leesbevestigingen en vergaderverzoeken
      MsgBox objSourceFolder.Items(j).To       'werkt bij gewone mails, niet bij leesbevestigingen en vergaderverzoeken
    Next j
End Sub

Weet iemand hoe ik deze eigenschap kan bekomen?
Alvast bedankt!
 
Laatst bewerkt:
Daar heb ik inderdaad gekeken, maar vergeef me dat ik het zeg, volgens mij klopt dit niet.
Ik vond ondertussen ook deze site, en daar blijkt inderdaad dat voor zo'n ReportItems (geen MailItems) andere eigenschappen gelden.
https://msdn.microsoft.com/en-us/library/office/ff865370(v=office.15).aspx

Ik vond daar wel nog niet welke eigenschap ik dan moet nemen om de zender en ontvanger te verkrijgen, want deze moet je toch kunnen verkrijgen?
 
Je kunt hier eens mee testen:
Code:
Sub test()
Dim olApp As Outlook.Application
Dim oSession As Outlook.NameSpace
Dim oInbox As Outlook.MAPIFolder
Dim oSentItem As Outlook.MAPIFolder
Dim oMail As Outlook.MailItem
Dim oRead As Outlook.ReportItem
Dim conID As String
Dim dtTime As Date

    Set olApp = Outlook.Application
    Set oMail = olApp.CreateItem(olMailItem)
    With oMail
        .To = "mailme@stupid.com"
        .Subject = "Hello pretty boy"
        .ReadReceiptRequested = True                'set read receipt
        .OriginatorDeliveryReportRequested = True   'set delivery receipt
        .Send
    End With
    Set oSession = olApp.GetNamespace("MAPI")
    Set oInbox = oSession.GetDefaultFolder(olFolderInbox)
    Set oSentItem = oSession.GetDefaultFolder(olFolderSentMail)
    dtTime = Now
    Do While (5 > DateDiff("s", dtTime, Now))
    Loop
    For Each oMail In oSentItem.Items
        If (oMail.Subject = "Hello pretty boy") Then
            conID = oMail.ConversationID
            Exit For
        End If
    Next
    For Each oMail In oInbox.Items
        If (oMail.ConversationID = conID) Then
            MsgBox "The user replied your email"
            Exit For
        End If
    Next

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan