我正尝试在C#中使用Interop.MSProject来做一些概念上的事情,应该是世界上最简单的事情。然而,我对这个含有极少文档的神秘api有些麻烦。我想要做的就是找到一行,在其中一列(单元格)中包含特定的字符串,并删除该行。完成之后,我只想显示修改的项目文件,以便用户可以选择保存它。以下是我已经试过:如何使用Interop.MSProject删除任务(行)
MSProject.Application app = new MSProject.Application();
app.FileOpenEx(
filePath,
false,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
MSProject.PjPoolOpen.pjPoolReadWrite,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
foreach(MSProject.Task task in proj.Tasks)
{
if (task == null) continue;
string cellValue = task.OutlineCode3;
if (cellValue == searchString)
task.Delete();
}
app.Visible = true;
它好像task.Delete不工作。我甚至试图将此代码概括为以下内容:
foreach (MSProject.Task task in proj.Tasks)
task.Delete()
而且这也没有工作。有没有人知道一种方式,我可以删除一个任务或行的基础上的行单元格中的值?