繁体   English   中英

Outlook Interop ClearSelection方法

[英]Outlook Interop ClearSelection Method

我在WPF应用程序中遇到Interop的困难。 我实际上想要做的是将Outlook文件拖放到我的应用程序中,然后提取附件并进行存储。 除此之外,我想阅读主题并搜索一个4位数的数字,该数字将成为附件要存储到的文件夹的名称。 我一直在网上搜索不使用Interop的解决方案,但找不到任何适合我的解决方案。 所以我认为“让我们试一试”,听起来很简单,因为我发现了很多遵循这种模式的示例:

 if (e.Data.GetDataPresent("FileGroupDescriptor"))
        {
            Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
            Microsoft.Office.Interop.Outlook.Selection selection = app.ActiveExplorer().Selection;

            foreach (object mi in selection)
            {
                Microsoft.Office.Interop.Outlook.MailItem mailItem = (Microsoft.Office.Interop.Outlook.MailItem)mi;
                string subject = "Untitled";
                if (!string.IsNullOrEmpty(mailItem.Subject))
                {
                    subject = mailItem.Subject;
                    MessageBox.Show(subject);
                }
            }

        }

这行得通,但我有一个问题:选择范围不断扩大。 我尝试了方法RemoveFromSelection和ClearSelection,但是它们不起作用。 每当我将一个新的Outlook项目拖到该表面上时,它也会同时显示所有以前的项目。 有谁能够帮助我? 我完全不知所措

您是否在应用程序中处理Drag事件?

如果是这样,请尝试在事件处理程序中调用以下代码:

e.Data.GetData(“RenPrivateMessages”);

有关更多信息请参见Outlook,自定义任务窗格和拖放问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM