我正在尝试使用带有 C# 的 Interop.MSProject 来做一些在概念上应该是世界上最简单的事情。但是,我在使用文档最少的神秘 api 时遇到了一些麻烦。我要做的就是在其中一个列(单元格)中找到包含特定字符串的行并删除该行。完成后,我只想显示修改后的项目文件,以便用户可以选择保存它。这是我尝试过的:
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()
这也不起作用。有谁知道我可以根据其中一个行单元格中的值删除任务或行的方法?