Как программно обновить результат поиска папки Outlook для нового поиска без изменения имени папки - PullRequest
0 голосов
/ 26 марта 2019

Я создал папку поиска Outlook, используя Надстройка Express для плагина Outlook, как показано ниже.это основано на этой статье .Есть ли аналогичный способ обновить имя папки поиска для нового результата?

private void adxOutlookEvents_AdvancedSearchComplete(object sender, object hostObj) { 
        Outlook.Search advancedSearch = null; 
        Outlook.Results advancedSearchResults = null; 
        Outlook.MailItem resultItem = null; 
        System.Text.StringBuilder strBuilder = null; 
        try { 
            advancedSearch = hostObj as Outlook.Search; 
            if (advancedSearch.Tag == advancedSearchTag) { 
                System.Diagnostics.Debug.WriteLine("!!! adxOutlookEvents_AdvancedSearchComplete"); 
                advancedSearchResults = advancedSearch.Results; 
                if (advancedSearchResults.Count > 0) { 
                    if (HostMajorVersion > 10) { 
                        object folder = advancedSearch.GetType().InvokeMember("Save", 
                                            System.Reflection.BindingFlags.Instance | 
                                            System.Reflection.BindingFlags.InvokeMethod | 
                                            System.Reflection.BindingFlags.Public, 
                                            null, advancedSearch, 
                                            new object[] { advancedSearchTag }); 

                    }  
                } else { 
                    System.Diagnostics.Debug.WriteLine("!!!" + "There are no items found."); 
                } 
            } 
        } catch (Exception ex) { 
            MessageBox.Show(ex.Message, "An exception is occured"); 
        } finally { 
            if (resultItem != null) Marshal.ReleaseComObject(resultItem); 
            if (advancedSearchResults != null) 
                Marshal.ReleaseComObject(advancedSearchResults); 
        } 
    } 

1 Ответ

1 голос
/ 26 марта 2019

Application.AdvancedSearch возвращает Search объект. Вы можете позвонить Search.Save, передав имя (строку) - он вернет MAPIFolder объект. Вы можете изменить свойство MAPIFolder.Name в любое время.

...