【发布时间】:2020-05-28 05:52:54
【问题描述】:
Microsoft Docs LinkPredecessors 方法描述为:
public void LinkPredecessors (object Tasks, Microsoft.Office.Interop.MSProject.PjTaskLinkType Link = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToStart, object Lag);
如何将 Lag 值分配给“object Lag”?下面的代码用于分配前任和任务链接类型,但是,我不知道如何添加滞后。
Microsoft.Office.Interop.MSProject.PjTaskLinkType LinkType;
var p = IApp.ActiveProject;
foreach (var y in tasksPred)
{
int intTaskType = Convert.ToInt32(y.RelationshipType);
switch (intTaskType)
{
case 0:
LinkType = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToFinish;
break;
case 1:
LinkType = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToStart;
break;
case 2:
LinkType = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjStartToFinish;
break;
case 3:
LinkType = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjStartToStart;
break;
default:
LinkType = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToStart;
break;
}
if (y.UniqueIDPredecessor != "")
{
p.Tasks[Convert.ToInt32(y.UniqueID)].LinkPredecessors(p.Tasks[Convert.ToInt32(y.UniqueIDPredecessor)], LinkType);
}
}
【问题讨论】:
-
你不使用互操作,这是肯定的。甚至 MS Project 也使用服务器的 Web 服务
-
自 2013 年以来,最好的方法是使用来自 Javascript、.NET 或任何可以进行 HTTP 调用的语言的 CSOM(客户端对象模型)。 2019 年,旧的 PSI 网络服务被删除