2017-10-17 122 views
-1

我想在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; 
     } 
+2

最好的方法是谷歌。這不是一個「如何」網站。看看這個:https://stackoverflow.com/help/mcve。祝你好運。 – JuanR

+0

當然,我已經嘗試過谷歌,這導致我在這裏..我閱讀幫助頁面。我搜索了以前的問題。我的問題符合「主題」標準(它是「一個特定的編程問題」和「一個對軟件開發來說唯一的實用,可回答的問題」)。我發現許多其他以「如何」或「我如何」開頭的問題,它們並不都是代碼錯誤消息。我的問題是一個富有建設性的問題,它將激發解釋「爲什麼」和「如何」的答案。' –

+0

您需要展示至少一些工作。當你已經在做某些事情並且碰到牆壁時,這就是你想要的那種網站。 – JuanR

回答

0

通訊簿不會讓你列表限制一些用戶的一個子集,所以你需要拿出你自己的窗口,提示從預過濾列表中選擇用戶。

+0

謝謝。我現在看到了。我正在努力做到這一點。 –

相關問題