创建通讯组列表
此代码示例展示了如何创建通讯组列表,并向用户显示它。
示例
注意
下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程。
在下面的代码示例中,CreateDistributionList 调用 CreateItem(OlItemType) 方法来创建 DistListItem 对象,以创建通讯组列表。 接下来,它创建 Table 对象,并调用 GetTable(Object, Object) 方法,以在默认“联系人”文件夹中查找 Subject 属性值为“Top Customer”且 Email1Address 属性值非空的所有联系人。 当所有联系人都被确定后,Email1Address 姓名便会作为列添加到 Table 中。 然后,CreateDistributionList 使用 NameSpace 对象中的 CreateRecipient(String) 方法,以创建 Recipient 对象。 最后,CreateDistributionList 向用户显示“Top Customers”通讯组列表。
注意
必须向 DistListItem 对象的 AddMember(Recipient) 方法传递已解析的 Recipient 对象作为参数。 若要解析 Recipient 对象,请使用 Resolve() 方法。
如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 Outlook 变量。 不得将 using 语句直接添加到此代码示例中的函数前面,这个语句必须后跟公共类声明。 下面的代码行演示了如何在 C# 中执行导入和分配。
using Outlook = Microsoft.Office.Interop.Outlook;
private void CreateDistributionList()
{
Outlook.DistListItem distList = Application.CreateItem(
Outlook.OlItemType.olDistributionListItem)
as Outlook.DistListItem;
distList.Subject = "Top Customers";
//Find top customer category in Contacts folder
string filter = "[Categories] = 'Top Customer'"
+ " AND [Email1Address] <> ''";
Outlook.Table table =
Application.Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderContacts).
GetTable(filter, Outlook.OlTableContents.olUserItems);
table.Columns.Add("Email1Address");
while (!table.EndOfTable)
{
Outlook.Row nextRow = table.GetNextRow();
Outlook.Recipient recip =
Application.Session.CreateRecipient(
nextRow["Email1Address"].ToString());
//Resolve the Recipient before calling AddMember
recip.Resolve();
distList.AddMember(recip);
}
distList.Display(false);
}