C# 如何在MSC项目中以编程方式分配滞后#
Microsoft文档C# 如何在MSC项目中以编程方式分配滞后#,c#,ms-project-server-2016,C#,Ms Project Server 2016,Microsoft文档link方法描述如下: public void LinkPredecessors (object Tasks, Microsoft.Office.Interop.MSProject.PjTaskLinkType Link = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToStart, object Lag); 如何为“对象滞后”指定滞后值?下面的代码用于分配前置任务和任务链接类型,但是,我不知道如何
link方法描述如下:
public void LinkPredecessors (object Tasks, Microsoft.Office.Interop.MSProject.PjTaskLinkType Link = Microsoft.Office.Interop.MSProject.PjTaskLinkType.pjFinishToStart, 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);
}
}
该方法需要一个用于延迟的字符串。从文档中:
一个字符串,指定链接任务之间的延迟时间的持续时间
例如:
- “2d”表示两个工作日的延迟
- “30ed”表示30天的滞后时间
- “4h”表示4个工作小时的延迟
- “3w”表示3个工作周的延迟
- “30米”表示30个工作分钟的延迟
在时间单位之前添加“e”将使其成为elapased,如日历日。否则,滞后时间将跟随工作日历。该方法需要一个滞后字符串。从文档中:
一个字符串,指定链接任务之间的延迟时间的持续时间
例如:
- “2d”表示两个工作日的延迟
- “30ed”表示30天的滞后时间
- “4h”表示4个工作小时的延迟
- “3w”表示3个工作周的延迟
- “30米”表示30个工作分钟的延迟
在时间单位之前添加“e”将使其成为elapased,如日历日。否则,延迟时间将遵循工作日历。您肯定不会使用互操作。即使MS Project使用服务器的web服务自2013年起,最好的方法是使用Javascript、.NET中的(客户端对象模型)或任何可以进行HTTP调用的语言。2019年,旧的PSI web服务被删除,这是肯定的,因为您不使用互操作。即使MS Project使用服务器的web服务自2013年起,最好的方法是使用Javascript、.NET中的(客户端对象模型)或任何可以进行HTTP调用的语言。2019年,旧的PSI web服务被删除