删除旧的Outlook约会

本文关键字:约会 Outlook 删除 | 更新日期: 2023-09-27 18:02:03

我正在研究一种程序删除旧的outlook日历约会的方法。我有这个代码,但我得到一个编译错误的"无效表达式术语"),但它看起来a -好吗?

    string strCurrent;
Outlook.Application objApp;
Outlook.NameSpace objNS;
Outlook.MAPIFolder objFolder;
Outlook.Items objItems;
object objItem;
string strStart;
string strEnd;
string strFilter;
strStart = "04/01/2014";
strEnd = "04/28/2014";
strFilter = "[Start] >= " + strStart + " AND [Start] < " + strEnd;
objApp = new Outlook.Application();
objNS = objApp.GetNamespace("MAPI");
objFolder = objNS.GetDefaultFolder(olFolderCalendar);
objItems = objFolder.Items.Restrict(strFilter);
objItem = objItems.GetFirst;
if (objItem = null) { break; }
foreach (object objItem in Outlook.Items objItems) { objItem.Delete; }
objApp = null;
objNS = null;
objFolder = null;
objItems = null;
objItem = null;

删除旧的Outlook约会

foreach的语法为

foreach(TYPE item in collection)
{
}

而你现在有

foreach(TYPE item in ANOTHER_TYPE collection)
{
}
所以你需要像 这样的东西
foreach (var item in objItems)
{
}

foreach格式不正确。你写:

foreach (object objItem in Outlook.Items objItems) { objItem.Delete; }

应该是:

foreach (object objItem in objItems) { objItem.Delete; }

除非在不期望的上下文中存在break:

if (objItem = null) { break; }

我还建议使用反向计数器而不是foreach循环;当您删除项时,集合将被更改,这将在运行时产生问题。