如何在不更改文件夹名称的情况下以编程方式更新outlook搜索文件夹结果以进行新搜索

问题描述 投票:-1回答:1

我使用add-in express为Outlook插件创建了Outlook搜索文件夹,如下所示。它是基于这个article。有没有类似的方法更新搜索文件夹名称的新结果?

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); 
        } 
    } 
outlook office-interop addin-express
1个回答
1
投票

Application.AdvancedSearch返回Search对象。您可以调用Search.Save传递名称(字符串) - 它将返回MAPIFolder对象。您可以随时修改MAPIFolder.Name属性。

© www.soinside.com 2019 - 2024. All rights reserved.