Freigeben über


AppointmentItem-Objekt (Outlook)

Stellt eine Besprechung, einen einmaligen Termin oder einen periodischen Termin bzw. eine periodische Besprechung im Ordner „Calendar“ dar.

Hinweise

Verwenden Sie die Methode CreateItem zum Erstellen eines Objekts vom Typ AppointmentItem, das einen neuen Termin darstellt.

Verwenden Sie Items (Index), wobei index die Indexnummer eines Termins oder ein Wert ist, der zur Übereinstimmung mit der Standardeigenschaft eines Termins verwendet wird, um ein einzelnes AppointmentItem-Objekt aus einem Calendar-Ordner zurückzugeben.

Sie können auch ein Objekt vom Typ AppointmentItem aus einem Objekt vom Typ MeetingItem mithilfe der Methode GetAssociatedAppointment zurückgeben.

Wenn Sie periodische Terminelemente verwenden, sollten Sie alle vorherigen Referenzen freigeben, neue Referenzen zum periodischen Termin abrufen, bevor Sie auf das Element zugreifen oder es ändern, und diese Referenzen freigeben, sobald Sie damit fertig sind und die Änderungen gespeichert haben. In dieser Methode wird auf dem wiederkehrenden AppointmentItem -Objekt und Ausnahme oder RecurrencePattern -Objekt angewendet wird. Um einen Verweis in Visual Basic für Applikationen (VBA) oder Visual Basic freizugeben, legen Sie das vorhandene Objekt auf Nothing zurück. Geben Sie in C# den Arbeitsspeicher für dieses Objekt explizit frei.

Beachten Sie, dass selbst, nachdem Sie Ihre Referenz freigegeben haben und versuchen eine neue Referenz abzurufen, Ihre neue Referenz weiterhin auf eine veraltete Kopie des Objekts zeigt, wenn weiterhin eine aktive Referenz zu einem der obigen Objekte vorliegt, die von einem anderen Add-In oder von Outlook verwendet wird. Daher ist es wichtig, dass Sie Ihre Referenzen freigeben, sobald Sie mit dem periodischen Termin fertig sind.

Im folgenden Codebeispiel in VBA wird gezeigt, wie Referenzen freigegeben und aktualisiert werden, um aktuelle Daten für einen periodischen Termin abzurufen. Im Beispiel wird ein Satz von Terminelementen aus dem Ordner „Calendar" abgerufen. Es wird angenommen, dass das erste Element in der Terminsammlung ein Bestandteil des periodischen Termins ist. Im Beispiel wird gezeigt, dass eine Referenz zu einer Terminsammlung, die vor dem Erstellen einer Ausnahme abgerufen wird, die Ausnahme nicht widerspiegelt. Im Beispiel wird diese Referenz anschließend neben anderen vorhandenen Terminreferenzen freigegeben, wonach neue Referenzen, die auf die Terminsammlung zeigen, die Ausnahme widerspiegeln.

Sub TestExceptions() 
 
 Dim oItems As Items 
 
 Dim oItemOriginal As AppointmentItem 
 
 Dim oItemNew As AppointmentItem 
 
 Dim rPattern As RecurrencePattern 
 
 Dim oEx As Exceptions 
 
 Dim oEx2 As Exceptions 
 
 Dim oOccurrence As AppointmentItem 
 
 Dim i As Long 
 
 
 
 ' This is the initial reference to an appointment collection. 
 
 Set oItems = _ 
 
 Outlook.Application.Session.GetDefaultFolder(olFolderCalendar).Items 
 
 
 
 ' This is the original reference to the first appointment in the 
 
 ' collection before an exception is created. 
 
 Set oItemOriginal = oItems.Item(1) 
 
 
 
 ' Code example assumes that the first appointment in the collection 
 
 ' is a recurring appointment. 
 
 Set oOccurrence = _ 
 
 oItemOriginal.GetRecurrencePattern().GetOccurrence(#2/28/2010 8:00:00 AM#) 
 
 
 
 ' Create an exception by changing the 2/28 occurrence to 3/3. 
 
 oOccurrence.Start = #3/3/2010 8:00:00 AM# 
 
 oOccurrence.Save 
 
 
 
 Stop 
 
 
 
 ' Preexisting reference to the first appointment in the collection 
 
 ' does not reflect the exception. 
 
 oItemOriginal.Save 
 
 Set oEx = oItemOriginal.GetRecurrencePattern().Exceptions 
 
 Debug.Print oItemOriginal.subject 
 
 Debug.Print " Original item exceptions: " & oEx.Count 
 
 
 
 ' Get a new reference based on the existing reference to the 
 
 ' appointment collection created before the exception. 
 
 ' The new reference does not reflect the exception. 
 
 Set oItemNew = oItems.Item(1) 
 
 oItemNew.Save 
 
 Set oEx2 = oItemNew.GetRecurrencePattern().Exceptions 
 
 Debug.Print " New item exceptions: " & oEx2.Count 
 
 
 
 ' Same: preexisting reference to the first appointment in the collection 
 
 ' does not reflect the exception. 
 
 Set oEx = oItemOriginal.GetRecurrencePattern().Exceptions 
 
 Debug.Print " Original item exceptions: " & oEx.Count 
 
 
 
 ' Release all existing references to appointment items, 
 
 ' including the appointment collection, an exception, occurrence, 
 
 ' or any other appointment. 
 
 Debug.Print "REFRESH ITEM COLLECTION" 
 
 Set oItems = Nothing 
 
 Set oItemNew = Nothing 
 
 Set oEx = Nothing 
 
 Set oEx2 = Nothing 
 
 Set oOccurrence = Nothing 
 
 Set oItemOriginal = Nothing 
 
 Set rPattern = Nothing 
 
 
 
 ' Get new references to appointment items, including the appointment 
 
 ' collection, individual appointments, and exceptions. 
 
 Set oItems = _ 
 
 Outlook.Application.Session.GetDefaultFolder(olFolderCalendar).Items 
 
 Set oItemNew = oItems.Item(1) 
 
 
 
 ' If no other add-ins have the same recurring appointment open, 
 
 ' the new references reflect the current exception count. 
 
 Set oEx2 = oItemNew.GetRecurrencePattern().Exceptions 
 
 Debug.Print " New item exceptions: " & oEx2.Count 
 
 
 
 Debug.Print "RE-GET ORIGINAL" 
 
 Set oItemOriginal = oItems.Item(1) 
 
 Set oEx = oItemOriginal.GetRecurrencePattern().Exceptions 
 
 Debug.Print " Original item exceptions: " & oEx.Count 
 
End Sub

Beispiel

Im folgenden Visual Basic for Applications-Beispiel (VBA) wird ein neuer Termin zurückgegeben.

Set myItem = Application.CreateItem(olAppointmentItem)

Ereignisse

Name
AfterWrite
AttachmentAdd
AttachmentRead
AttachmentRemove
BeforeAttachmentAdd
BeforeAttachmentPreview
BeforeAttachmentRead
BeforeAttachmentSave
BeforeAttachmentWriteToTempFile
BeforeAutoSave
BeforeCheckNames
BeforeDelete
BeforeRead
Close
CustomAction
CustomPropertyChange
Forward
Open
PropertyChange
Lesen
ReadComplete
Reply
ReplyAll
Send
Unload
Write

Methoden

Name
ClearRecurrencePattern
Close
Copy
CopyTo
Delete
Anzeige
ForwardAsVcal
GetConversation
GetOrganizer
GetRecurrencePattern
Verschieben
PrintOut
Respond
Save
SaveAs
Send
ShowCategoriesDialog

Eigenschaften

Name
Aktionen
AllDayEvent
Application
Anlagen
AutoResolvedWinner
BillingInformation
Body
BusyStatus
Kategorien
Klasse
Companies
Conflicts
ConversationID
ConversationIndex
ConversationTopic
CreationTime
DownloadState
Dauer
End
EndInEndTimeZone
EndTimeZone
EndUTC
EntryID
ForceUpdateToAllAttendees
FormDescription
GetInspector
GlobalAppointmentID
Importance
InternetCodepage
IsConflict
IsRecurring
ItemProperties
LastModificationTime
Standort
MarkForDownload
MeetingStatus
MeetingWorkspaceURL
MessageClass
Mileage
NoAging
OptionalAttendees
Organisator
OutlookInternalVersion
OutlookVersion
Parent
PropertyAccessor
Empfänger
RecurrenceState
ReminderMinutesBeforeStart
ReminderOverrideDefault
ReminderPlaySound
ReminderSet
ReminderSoundFile
ReplyTime
RequiredAttendees
Ressourcen
ResponseRequested
ResponseStatus
RTFBody
Saved
SendUsingAccount
Sensitivity
Session
Size
Start
StartInStartTimeZone
StartTimeZone
StartUTC
Betreff
UnRead
UserProperties

Siehe auch

Outlook-ObjektmodellreferenzVorgehensweise: Importieren von Termin-XML-Daten in Outlook-TerminobjekteAppointmentItem-Objekt-Member

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.