2016-07-25 25 views
2

Backgorund gesendet:
Ich brauche einen Termin zu schicken, alles funktioniert, obwohl, würde Ich mag eine „Gesendet“ Eigenschaft für das Outlook.AppointmentItem erhalten, wenn die Einladung gesendet wurde oder nicht -entweder Nach dem Klicken auf das angezeigte Fenster oder Serverprobleme vom Benutzer abgebrochen.Appointment Objekt wurde


Lösung versucht:
Während ich las, dass die Ernennung ein Saved Property hat dies -von Kurs- mir nicht sagen, ob es oder nicht, die man in MailItem -ähnlich abgeschickt -.
Ich glaube nicht, dass der Code die Bereitstellung hilfreich wäre, aber hier ist es:
Code:

 
Dim olApp As Outlook.Application 
Dim olAgenda As Outlook.AppointmentItem 
Set olApp = New Outlook.Application 
Set olAgenda = olApp.CreateItem(1) 

With olAgenda 
    .Subject = "Test" 
    .Recipients.Add = "[email protected]" 
    .Display 
    On Error Resume Next 
    Call .ItemProperties.Item("Saved") 'here is where I would need to catch the kind of "was it sent?" variable. 

    If Err.Number = 0 Then    '99. If Error 
     MsgBox "Item Send" 
    Else        '99. If Error 
     MsgBox "Item Not Send" 
    End If        '99. If Error 

End With 

PS: Bitte beachten Sie, dass ich nicht die späte Bindung mögen, für Outlook Bibliothek Referenz hat hinzugefügt werden.
Frage:
Wie konnte ich fangen, wenn das AppointmentItem gesendet wurde oder nicht?

Antwort

2

Termin selbst wird nie gesendet - er bleibt im Kalenderordner. Nur MeetingItem Objekte werden gesendet. Verwenden Sie die AppointmentItem.MeetingStatus Eigenschaft.

+1

Danke, es hat funktioniert! Ich muss hinzufügen, dass, wenn Sie es als Bedingung verwenden, 0 bedeutet, dass es "nicht verfügbar" ist - für mein Problem konnte Outlook nicht "senden" - und 1 ist verfügbar. – Sgdva

+2

Siehe https://msdn.microsoft.com/en-us/library/office/ff869427.aspx für die möglichen Werte der olMeetingStatus-Enumeration. –