首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在outlook | .Net中创建文件夹

在outlook | .Net中创建文件夹
EN

Stack Overflow用户
提问于 2013-09-10 21:24:07
回答 1查看 148关注 0票数 0

我正在通过.net应用程序在microsoft outlook中创建文件夹,但它只有在我重新启动outlook时才会显示。应在不重新启动outlook的情况下显示新文件夹。我使用的代码如下:

代码语言:javascript
运行
复制
       Outlook.NameSpace nameSpace = OutlookApp.GetNamespace("MAPI");
        Outlook.MAPIFolder folderInbox = nameSpace.GetDefaultFolder               
       (Outlook.OlDefaultFolders.olFolderInbox);
        Outlook.Folders inboxFolders = folderInbox.Folders;
        Outlook.MAPIFolder subfolderInbox = null;

        Outlook.Application oApp;
        oApp = nameSpace.Application;
        Outlook.Explorer exp = oApp.ActiveExplorer();

         subfolderInbox = inboxFolders.Add("InboxSubfolder",  
         Outlook.OlDefaultFolders.olFolderInbox);
         exp.CurrentFolder = subfolderInbox;
EN

回答 1

Stack Overflow用户

发布于 2013-09-11 00:29:26

我看到你在用Add-in Express

我将您的代码附加到一个adxRibbonButton控件上,它为我工作。

你是如何调用这个代码的?

我看到一些不必要的对象创建,并在下面编辑的版本中删除了它们。

还有- you want to make sure to release the Office objects you create

我建议按如下方式更新代码:

代码语言:javascript
运行
复制
private void adxRibbonButton1_OnClick(object sender, IRibbonControl control, bool pressed)
    {
        Outlook.NameSpace nameSpace = OutlookApp.Session; //OutlookApp.GetNamespace("MAPI");

        Outlook.MAPIFolder folderInbox = nameSpace.GetDefaultFolder
       (Outlook.OlDefaultFolders.olFolderInbox);
        Outlook.Folders inboxFolders = folderInbox.Folders;
        Outlook.MAPIFolder subfolderInbox = null;

        //Outlook.Application oApp;
        //oApp = nameSpace.Application;
        Outlook.Explorer exp = OutlookApp.ActiveExplorer(); //oApp.ActiveExplorer();

        subfolderInbox = inboxFolders.Add("InboxSubfolder",
            Outlook.OlDefaultFolders.olFolderInbox);
            exp.CurrentFolder = subfolderInbox;

        //Release COM Objects
        if (exp != null) Marshal.ReleaseComObject(exp);
        if (subfolderInbox != null) Marshal.ReleaseComObject(subfolderInbox);
        if (inboxFolders != null) Marshal.ReleaseComObject(inboxFolders);
        if (folderInbox != null) Marshal.ReleaseComObject(folderInbox);
        if (nameSpace != null) Marshal.ReleaseComObject(nameSpace);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18720185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档