用于过滤收件人的Outlook AddIn
问题描述:
我想在C#中构建一个Outlook AddIn,该用户在点击日历功能区中有一个按钮以与其员工之一创建新会议。我们希望用户(经理)能够从他们自己的员工的已过滤列表中选择员工,而不必搜索整个目录。 这样做的最好方法是什么?用于过滤收件人的Outlook AddIn
编: 我做了一些搜索和我碰到一个潜在的方法来进行过滤。
我知道“SelectNamesDialog”功能将得到我的地址簿对话框:
Outlook.SelectNamesDialog snd = Application.Session.GetSelectNamesDialog();
我想结合起来,与一段代码,我发现。我修改它以返回所有经理的直接报告(管理人员下的员工)的姓名。
我认为我走在正确的轨道上,但我不确定接下来要做什么。我现在如何允许用户通过GetSelectNamesDialog选择其中一个名称?如果你的答案是在psuedocode中,那就可以了。
// source: "How to: Get Information About Direct Reports of the Current User's Manager"
// https://msdn.microsoft.com/en-us/library/ff184617.aspx
private List<string> GetManagerDirectReports()
{
List<string> AddressNames = new List<string>();
Outlook.AddressEntry currentUser = Globals.ThisAddIn.Application.Session.CurrentUser.AddressEntry;
if (currentUser.Type == "EX")
{
Outlook.ExchangeUser manager = currentUser.GetExchangeUser().GetExchangeUserManager();
if (manager != null)
{
Outlook.AddressEntries addrEntries = manager.GetDirectReports();
if (addrEntries != null)
{
foreach (Outlook.AddressEntry addrEntry in addrEntries)
{
//System.Windows.Forms.MessageBox.Show(addrEntry.Name);
AddressNames.Add(addrEntry.Name);
}
}
}
}
return AddressNames;
}
答
通讯簿不会让你列表限制一些用户的一个子集,所以你需要拿出你自己的窗口,提示从预过滤列表中选择用户。
+0
谢谢。我现在看到了。我正在努力做到这一点。 –
最好的方法是谷歌。这不是一个“如何”网站。看看这个:https://stackoverflow.com/help/mcve。祝你好运。 – JuanR
当然,我已经尝试过谷歌,这导致我在这里..我阅读帮助页面。我搜索了以前的问题。我的问题符合“主题”标准(它是“一个特定的编程问题”和“一个对软件开发来说唯一的实用,可回答的问题”)。我发现许多其他以“如何”或“我如何”开头的问题,它们并不都是代码错误消息。我的问题是一个富有建设性的问题,它将激发解释“为什么”和“如何”的答案。' –
您需要展示至少一些工作。当你已经在做某些事情并且碰到墙壁时,这就是你想要的那种网站。 – JuanR