C# C上的时间刻度数据
我正在将宏代码迁移到VSTO。我在时间刻度数据方面有问题。宏代码是这样的C# C上的时间刻度数据,c#,.net,vsto,C#,.net,Vsto,我正在将宏代码迁移到VSTO。我在时间刻度数据方面有问题。宏代码是这样的 For Each tsk In ActiveProject.Tasks If tsk.Summary = False And tsk.Duration <> 0 Then With tsk Set tsvs = .TimeScaleData(StartDate:=ActiveProject.ProjectStart, EndDate:=ActiveProject
For Each tsk In ActiveProject.Tasks
If tsk.Summary = False And tsk.Duration <> 0 Then
With tsk
Set tsvs = .TimeScaleData(StartDate:=ActiveProject.ProjectStart, EndDate:=ActiveProject.ProjectFinish, Type:=pjTaskTimescaledBaselineWork, timescaleunit:=pjTimescaleWeeks, Count:=1)
End With
For Each tsv In tsvs
differencedate = 0
If tsk.BaselineStart <> "NA" And tsk.BaselineFinish <> "NA" Then
If tsk.BaselineStart >= tsv.StartDate And tsk.BaselineStart <= tsv.StartDate + 7 And tsk.BaselineFinish <= tsv.StartDate + 7 Then
differencedate = Application.DateDifference(tsk.BaselineStart, tsk.BaselineFinish, ActiveProject.Calendar) / 60
ElseIf tsk.BaselineStart >= tsv.StartDate And tsk.BaselineStart <= tsv.StartDate + 7 And tsk.BaselineFinish >= tsv.StartDate + 7 Then
differencedate = (Application.DateDifference(tsk.BaselineStart, tsv.StartDate + 7, ActiveProject.Calendar)) / 60
ElseIf tsk.BaselineStart <= tsv.StartDate And tsk.BaselineFinish >= tsv.StartDate And tsk.BaselineFinish <= tsv.StartDate + 7 Then
differencedate = (Application.DateDifference(tsv.StartDate, tsk.BaselineFinish, ActiveProject.Calendar)) / 60
ElseIf tsk.BaselineStart <= tsv.StartDate And tsk.BaselineFinish >= tsv.StartDate + 7 Then
differencedate = Application.DateDifference(tsv.StartDate, tsv.StartDate + 7, ActiveProject.Calendar) / 60
End If
End If
Next
End if
Next
我需要把这个翻译成C,有谁能帮我吗?到目前为止你有什么代码?代码中有例外吗 无论如何,您可以使用自动快速入门。然后您可以手动更正代码
看看文章中列出的示例代码。到底是什么问题?有错误消息吗?我无法使用任务列表{if Task.Summary==false&&System.Convert.ToInt32task.Duration!=0中的每个任务的时间刻度数据{TimeScaleValues tsvs=task.TimeScaleDataproject.ProjectStart,project.ProjectFinish,PjAssignmentTimescaledData.pjAssignmentTimescaledBaselineWork,PjTimescaleUnit.pjtimescaleeweeks,1;用于tsvs中的每个TimeScaleValue tsv{if task.BaselineStart.ToString!=NA&&task.BaselineFinish.ToString!=NA{}}在获取信息方面有问题tsvs@GilbertAllanWong这是回答还是Tweet?;-两者都有?实际上是错误操作系统,我使用赋值而不是任务。//TimeScaleValue tsv;//TimeScaleValues tsvs;//任务列表中的每个任务//{//tsvs=task.TimeScaleDatatask.Start,task.Finish,PjAssignmentTimescaledData.pjAssignmentTimescaledBaselineWork,PjTimescaleUnit.pjTimescaleWeeks,1;//}我尝试使用相同的逻辑,但在无效参数上出现错误,似乎TimeScaleData只能在赋值上工作。问题是我需要将上述代码精确转换为C VSTO