C# + 微软项目
C# + MS Project
我正在尝试用 c# 编写一个应用程序,该应用程序 select 通过唯一 ID 完成任务。我尝试使用几种方法。
第一个用"SelectTPTask"方法
using Project = Microsoft.Office.Interop.MSProject;
public static Project.Application prjApp;
public static Project.Project msPrj;
prjApp = new Project.Application();
prjApp.FileOpenEx(Path);
prjApp.Visible = true;
msPrj = prjApp.ActiveProject;
if (msPrj.Tasks != null)
foreach (Project.Task task in msPrj.Tasks)
{
if (task.UniqueID == Id)
{
prjApp.SelectTPTask(task.UniqueID);
//prjApp.SelectRow(task.ID);
}
}
else
{
MessageBox.Show("Nothing found");
}
但它给出了一个未知错误。唯一赚到的是"SelectRow"方法。但它只正确运行一次,然后 select 就出错了。但是,如果我重新启动 MS Project,它会正确运行 1 次,然后再次选择错误的任务。
SelectRow
方法有几个参数,第二个参数表示新 selection 是否相对于活动行;默认值为 True
。使用 False
作为 select 绝对行的第二个参数。
我正在尝试用 c# 编写一个应用程序,该应用程序 select 通过唯一 ID 完成任务。我尝试使用几种方法。 第一个用"SelectTPTask"方法
using Project = Microsoft.Office.Interop.MSProject;
public static Project.Application prjApp;
public static Project.Project msPrj;
prjApp = new Project.Application();
prjApp.FileOpenEx(Path);
prjApp.Visible = true;
msPrj = prjApp.ActiveProject;
if (msPrj.Tasks != null)
foreach (Project.Task task in msPrj.Tasks)
{
if (task.UniqueID == Id)
{
prjApp.SelectTPTask(task.UniqueID);
//prjApp.SelectRow(task.ID);
}
}
else
{
MessageBox.Show("Nothing found");
}
但它给出了一个未知错误。唯一赚到的是"SelectRow"方法。但它只正确运行一次,然后 select 就出错了。但是,如果我重新启动 MS Project,它会正确运行 1 次,然后再次选择错误的任务。
SelectRow
方法有几个参数,第二个参数表示新 selection 是否相对于活动行;默认值为 True
。使用 False
作为 select 绝对行的第二个参数。