从Outlook删除Item时必须从后往前删
2012-01-27 13:01
267 查看
我在用代码删除大量邮件的时候发现:往往删掉几十封邮件后程序就自动停下来了。经过大量的搜索和在论坛中的提问,现在终于找到解决方法了:必须从后往前删!
我用一下代码成功地在不间断的情况下删除了3700多份邮件。
我用一下代码成功地在不间断的情况下删除了3700多份邮件。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Tools.Ribbon; using Outlook = Microsoft.Office.Interop.Outlook; using System.Diagnostics; using System.Threading; namespace MyThread { public partial class Ribbon1 { private void Ribbon1_Load(object sender, RibbonUIEventArgs e) { } private void button1_Click(object sender, RibbonControlEventArgs e) { Outlook.Application objApplication = Globals.ThisAddIn.Application; Outlook.NameSpace objNameSpace = objApplication.Session; Outlook.MAPIFolder objInbox = objNameSpace .Stores["**********"].GetRootFolder() .Folders["******"]; int c = objInbox.Items.Count; for (int i = c ; i > 0; i--) { var obj = objInbox.Items[i]; if (obj is Outlook.MailItem) { Outlook.MailItem objMailItem = (Outlook.MailItem)obj; objMailItem.Delete(); Debug.Print(i.ToString()); Thread.Sleep(500); } } } } }
相关文章推荐
- 从Outlook删除Item时必须从后往前删
- 无法解析该名称 outlook必须处于联机,控制面板删除账户
- 无法解析该名称 outlook必须处于联机,控制面板删除账户
- android 下拉刷新上拉加载更多,高仿ios左滑动删除item,解决了众多手势问题
- outlook 2003配置连接exchange server 2010报错——无法完成此操作。 与 Microsoft Exchange Server 的连接不可用。 Outlook 必须联机或连接才可完成该操作
- ASP提示 无法从指定的数据表中删除 和 操作必须使用一个可更新的查询?
- C#.NET 中使用gridview删除列出现“索引超出范围。必须为非负值并小于集合大小。参数名: index”
- RecyclerView学习--item实现拖拽和滑动删除
- ListView飞入加载item及滑动删除item
- android RecyclerView实现条目Item拖拽排序与滑动删除
- ListView飞入加载item及滑动删除item
- HorizontalDragLayout-模仿QQ客户端的Item滑动删除
- Android ListView实现单击item出现删除按钮以及滑动出现删除按钮
- 双击QListWidget中Item重命名,删除
- RecyclerView的Item点击事件,增加删除Item瀑布流动画效果,长按拖动Item,RecyclerView复杂布局、实现新闻频道选择器
- 删除一列数据,后一列的数据自动往前,最后一列自动补为null
- 永中Office必须快马加鞭往前赶
- maven 打包到web app下运行 若是想改到server runtime 上运行 则必须先删除打好的war包
- ListView 动态删除添加Item方法