使用c#自动将Outlook电子邮件保存到文件夹
发布时间:2020-12-15 17:26:18 所属栏目:百科 来源:网络整理
导读:根据Outlook中执行的搜索,我想将结果保存到本地驱动器中 我该怎么办? 在C#或ASP.Net中有没有办法实现它? 非常感谢. 解决方法 您可以编写自己的Outlook插件来完成这项工作. 启动Visual Studio,创建一个新的Outlook加载项.根据您的Visual Studio和Office版本
根据Outlook中执行的搜索,我想将结果保存到本地驱动器中
我该怎么办? 在C#或ASP.Net中有没有办法实现它? 非常感谢. 解决方法
您可以编写自己的Outlook插件来完成这项工作.
启动Visual Studio,创建一个新的Outlook加载项.根据您的Visual Studio和Office版本,您可能必须安装VS Tools for Office Runtime(如果我没记错的话). 在启动时注册Application.ItemContextMenuDisplay的处理程序,并在事件处理程序中添加一个新的菜单项,让我们说“将消息保存到磁盘”,再创建一个事件处理程序,它获取所选消息并将其保存到某个地方. 像这样的东西: using Office = Microsoft.Office.Core; using Outlook = Microsoft.Office.Interop.Outlook; private void MyAddIn_Startup(object sender,System.EventArgs e) { Office.CommandBarButton bts = (Office.CommandBarButton)CommandBar.Controls.Add(); bts.Visible = true; bts.Caption = "Save selected messages to disk"; bts.Click += new Office._CommandBarButtonEvents_ClickEventHandler(bts_Click); } private void bts_Click(Office.CommandBarButton Ctrl,ref bool CancelDefault) { Outlook.Selection list = this.Application.ActiveExplorer().Selection; string fileName = ""; Object selObject; Outlook.MailItem mailItem; for (int i = 1; i < list.Count + 1; i++) { selObject = this.Application.ActiveExplorer().Selection[i]; if (selObject is Outlook.MailItem) { mailItem = (selObject as Outlook.MailItem); if (mailItem != null) { fileName = Path.GetTempFileName(); mailItem.SaveAs(fileName,Outlook.OlSaveAsType.olMSG); } } } } 它没有任何错误检查,没有优化,这会将消息保存到临时文件,但您可以获得基础知识. 它也不是自动保存,但你必须选择消息,右键单击并选择新的菜单项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |