Conversation-Objekt (Outlook)Conversation object (Outlook)

Stellt eine Unterhaltung dar, die mindestens ein Element enthält, das in mindestens einem Ordner oder Informationsspeicher gespeichert ist.Represents a conversation that includes one or more items stored in one or more folders and stores.

BemerkungenRemarks

Das Conversation -Objekt ist eine abstrakte, aggregierten Objekt.The Conversation object is an abstract, aggregated object. Obwohl eine Unterhaltung Elementen mit unterschiedlichen Typen beinhalten kann, entspricht das Conversation -Objekt keinem bestimmten zugrunde liegende MAPI IMessage -Objekt.Although a conversation can include items of different types, the Conversation object does not correspond to a particular underlying MAPI IMessage object.

Eine Unterhaltung stellt mindestens ein Element in mindestens einem Ordner oder Informationsspeicher dar.A conversation represents one or more items in one or more folders and stores. Wenn Sie ein Element in einer Unterhaltung in den Ordner " Gelöschte Elemente " verlagern und anschließend die Unterhaltung mithilfe der GetChildren-, GetRootItems-oder GetTable -Methode aufzählen, wird das Element nicht in das zurückgegebene Objekt aufgenommen.If you move an item in a conversation to the Deleted Items folder and subsequently enumerate the conversation by using the GetChildren, GetRootItems, or GetTable method, the item will not be included in the returned object.

Um ein Conversation -Objekt für eine vorhandene Unterhaltung zu erhalten, verwenden Sie die GetConversation -Methode des Elements.To obtain a Conversation object for an existing conversation, use the GetConversation method of the item.

Es gibt Aktionen, die Sie auf Elemente in einer Unterhaltung anwenden können, indem Sie die SetAlwaysAssignCategories-, SetAlwaysDelete-oder SetAlwaysMoveToFolder -Methode aufrufen.There are actions that you can apply to items in a conversation by calling the SetAlwaysAssignCategories, SetAlwaysDelete, or SetAlwaysMoveToFolder method. Jede dieser Aktionen wird automatisch auf alle Elemente in der Unterhaltung angewendet, wenn die Methode aufgerufen wird; die Aktion wird auch auf zukünftige Elemente in der Unterhaltung angewendet, solange die Aktion noch für die Unterhaltung gilt.Each of these actions is applied to all items in the conversation automatically when the method is called; the action is also applied to future items in the conversation as long as the action is still applicable to the conversation. Es gibt keine explizite Save-Methode für das Conversation -Objekt.There is no explicit save method on the Conversation object.

Wenn Sie eine Aktion für Elemente in einer Unterhaltung anwenden, tritt außerdem das entsprechende Ereignis auf.Also, when you apply an action to items in a conversation, the corresponding event occurs. Das ItemChange -Ereignis des Items -Objekts tritt beispielsweise auf, wenn Sie SetAlwaysAssignCategoriesaufrufen, und das BeforeItemMove -Ereignis des Folder -Objekts tritt auf, wenn Sie SetAlwaysMoveToFolderaufrufen.For example, the ItemChange event of the Items object occurs when you call SetAlwaysAssignCategories, and the BeforeItemMove event of the Folder object occurs when you call SetAlwaysMoveToFolder.

BeispielExample

Der folgende verwaltete Code ist in C# geschrieben.The following managed code is written in C#. Um ein verwaltetes Codebeispiel von .NET Framework auszuführen, das ein Component Object Model (COM) aufrufen muss, müssen Sie eine Interopassembly verwenden, die verwaltete Schnittstellen definiert und den COM-Objekten in der Object Model-Typbibliothek zuordnet.To run a .NET Framework managed code sample that needs to call into a Component Object Model (COM), you must use an interop assembly that defines and maps managed interfaces to the COM objects in the object model type library. Für Outlook können Sie Visual Studio und die Outlook Primary Interop Assembly (PIA) verwenden.For Outlook, you can use Visual Studio and the Outlook Primary Interop Assembly (PIA). Stellen Sie sicher, dass Sie die Outlook 2013 PIA installiert und eine Referenz zur Microsoft Outlook 15.0-Objektbibliothekkomponente in Visual Studio hinzugefügt haben, bevor Sie verwaltete Codebeispiele für Outlook 2013 ausführen.Before you run managed code samples for Outlook 2013, ensure that you have installed the Outlook 2013 PIA and have added a reference to the Microsoft Outlook 15.0 Object Library component in Visual Studio. Sie sollten den folgenden Code in der ThisAddIn-Klasse eines Outlook-Add-Ins verwenden (mithilfe von Office Developer Tools für Visual Studio).You should use the following code in the ThisAddIn class of an Outlook add-in (using Office Developer Tools for Visual Studio). Das Objekt der Anwendung im Code muss ein vertrauenswürdiges Outlook- Anwendungsobjekt sein, das von ThisAddIn.Globals bereitgestellt wird.The Application object in the code must be a trusted Outlook Application object provided by ThisAddIn.Globals. Weitere Informationen zur Verwendung der Outlook-PIA zur Entwicklung verwalteter Outlook-Lösungen finden Sie auf MSDN unter Willkommen bei der Referenz zur primären Interopassembly von Outlook (PIA).For more information about using the Outlook PIA to develop managed Outlook solutions, see the Welcome to the Outlook Primary Interop Assembly Reference on MSDN.

Im folgenden Codebeispiel wird davon ausgegangen, dass das ausgewählte Element in das Explorer-Fenster ein e-Mail-Element ist.The following code example assumes that the selected item in the explorer window is a mail item. Im Codebeispiel wird die Unterhaltung, dass das ausgewählte e-Mail-Element zugeordnet ist, und listet jedes Element in dieser Unterhaltung, die den Betreff des Elements anzeigen.The code example gets the conversation that the selected mail item is associated with, and enumerates each item in that conversation, displaying the subject of the item. Die DemoConversation -Methode ruft die Methode GetConversation des ausgewählten e-Mail-Elements, das zugehörige Conversation -Objekt abgerufen.The DemoConversation method calls the GetConversation method of the selected mail item to get the associated Conversation object. DemoConversation ruft dann die GetTable und GetRootItems -Methoden des Conversation -Objekt zu einem Table -Objekt und eine SimpleItems -Auflistung abzurufen.DemoConversation then calls the GetTable and GetRootItems methods of the Conversation object to get a Table object and SimpleItems collection, respectively. DemoConversation Ruft die wiederkehrenden Methode EnumerateConversation aufgelistet und den Betreff der einzelnen Elemente in dieser Unterhaltung anzeigen.DemoConversation calls the recurrent method EnumerateConversation to enumerate and display the subject of each item in that conversation.

void DemoConversation() 
{ 
 object selectedItem = 
 Application.ActiveExplorer().Selection[1]; 
 // This example uses only 
 // MailItem. Other item types such as 
 // MeetingItem and PostItem can participate 
 // in the conversation. 
 if (selectedItem is Outlook.MailItem) 
 { 
 // Cast selectedItem to MailItem. 
 Outlook.MailItem mailItem = 
 selectedItem as Outlook.MailItem; 
 // Determine the store of the mail item. 
 Outlook.Folder folder = mailItem.Parent 
 as Outlook.Folder; 
 Outlook.Store store = folder.Store; 
 if (store.IsConversationEnabled == true) 
 { 
 // Obtain a Conversation object. 
 Outlook.Conversation conv = 
 mailItem.GetConversation(); 
 // Check for null Conversation. 
 if (conv != null) 
 { 
 // Obtain Table that contains rows 
 // for each item in the conversation. 
 Outlook.Table table = conv.GetTable(); 
 Debug.WriteLine("Conversation Items Count: " + 
 table.GetRowCount().ToString()); 
 Debug.WriteLine("Conversation Items from Table:"); 
 while (!table.EndOfTable) 
 { 
 Outlook.Row nextRow = table.GetNextRow(); 
 Debug.WriteLine(nextRow["Subject"] 
 + " Modified: " 
 + nextRow["LastModificationTime"]); 
 } 
 Debug.WriteLine("Conversation Items from Root:"); 
 // Obtain root items and enumerate the conversation. 
 Outlook.SimpleItems simpleItems 
 = conv.GetRootItems(); 
 foreach (object item in simpleItems) 
 { 
 // In this example, only enumerate MailItem type. 
 // Other types such as PostItem or MeetingItem 
 // can appear in the conversation. 
 if (item is Outlook.MailItem) 
 { 
 Outlook.MailItem mail = item 
 as Outlook.MailItem; 
 Outlook.Folder inFolder = 
 mail.Parent as Outlook.Folder; 
 string msg = mail.Subject 
 + " in folder " + inFolder.Name; 
 Debug.WriteLine(msg); 
 } 
 // Call EnumerateConversation 
 // to access child nodes of root items. 
 EnumerateConversation(item, conv); 
 } 
 } 
 } 
 } 
} 
 
 
void EnumerateConversation(object item, 
 Outlook.Conversation conversation) 
{ 
 Outlook.SimpleItems items = 
 conversation.GetChildren(item); 
 if (items.Count > 0) 
 { 
 foreach (object myItem in items) 
 { 
 // In this example, only enumerate MailItem type. 
 // Other types such as PostItem or MeetingItem 
 // can appear in the conversation. 
 if (myItem is Outlook.MailItem) 
 { 
 Outlook.MailItem mailItem = 
 myItem as Outlook.MailItem; 
 Outlook.Folder inFolder = 
 mailItem.Parent as Outlook.Folder; 
 string msg = mailItem.Subject 
 + " in folder " + inFolder.Name; 
 Debug.WriteLine(msg); 
 } 
 // Continue recursion. 
 EnumerateConversation(myItem, conversation); 
 } 
 } 
} 
 

MethodenMethods

NameName
ClearAlwaysAssignCategoriesClearAlwaysAssignCategories
GetAlwaysAssignCategoriesGetAlwaysAssignCategories
GetAlwaysDeleteGetAlwaysDelete
GetAlwaysMoveToFolderGetAlwaysMoveToFolder
GetChildrenGetChildren
GetParentGetParent
GetRootItemsGetRootItems
GetTableGetTable
MarkAsReadMarkAsRead
MarkAsUnreadMarkAsUnread
SetAlwaysAssignCategoriesSetAlwaysAssignCategories
SetAlwaysDeleteSetAlwaysDelete
SetAlwaysMoveToFolderSetAlwaysMoveToFolder
StopAlwaysDeleteStopAlwaysDelete
StopAlwaysMoveToFolderStopAlwaysMoveToFolder

EigenschaftenProperties

NameName
AnwendungApplication
KlasseClass
ConversationIDConversationID
ParentParent
SessionSession

Siehe auchSee also

Outlook-Objektmodellreferenz Conversation-Objekt – ElementeOutlook Object Model Reference Conversation Object Members

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.