如何尽快获取Outlook DistributionList的成员?

时间:2019-05-17 11:23:10

标签: .net outlook office-interop

我需要获取Outlook通讯组列表的成员的电子邮件地址。此列表不在我的本地文件夹中,而是公司范围的列表。

我有一个解决方案,但是它需要大量时间,因为在处理该组成员之前,我会遍历所有现有组(8,400多个)以找到所讨论的组。

如果我已经知道通讯组列表的名称,是否有更好的方法来获取通讯组列表的成员(也不需要获取所有其他8400多个通讯组列表)?

这是我的代码:

outlookApp = New Outlook.Application
outlookNamespace = _outlookApp.GetNamespace("mapi")

Dim addrLists As Outlook.AddressLists =
    outlookApp.Session.AddressLists
Dim root As Outlook.AddressList =
    addrLists.OfType(Of Outlook.AddressList) _
             .FirstOrDefault(Function(x) x.Name = "All Groups")
Dim entry As Outlook.AddressEntry =
    root.AddressEntries.Cast(Of Outlook.AddressEntry) _
                       .FirstOrDefault(Function(x) x.Name = "<Enter Group Name Here>")

entry.Members包含此列表的所有成员。


我尝试使用功能GetAddressEntryFromID,但仅收到错误消息“很不幸,发生了问题。您可以重试。” (从德语翻译)。

2 个答案:

答案 0 :(得分:1)

比这简单得多:

<?php

$item = null;
$value = null;

echo '<row>';

$category = ProductController::ctrShowCategory($item, $value);                        

    foreach ($category as $key => $value) {

        echo '<div class="col-xs-6 btnCategory">

                <button class="btn btn-default btn-block">
                    <a>'.$value["category"].'</a>

                </button>

                <div class="infoSubCategory"';

                $item = "id_category";

                $value = $value["id"];

                $subcategory = ProductController::ctrShowSubCategory($item, $value);

                echo '<li><center><a href="'.$url.$value["route"].'" class="showAll"><strong>Show All</strong></a></center></li>';

                foreach ($subcategory as $key => $value) {

                        echo '<li><center><a href="'.$url.$value["route"].'">'.$value["subcategory"].'</a></center></li>';
                    }   

                                 echo '</div>

            </div>';

    }

echo '</row>';

?>

答案 1 :(得分:0)

我自己找到的。

Dim rec As Outlook.Recipient =
    outlookNamespace.CreateRecipient("<Enter Group Name Here>")
rec.Resolve

rec.AddressEntry.Members包含列表的所有成员。