我想使用C#自动化一些MS Project功能,但无法找到如何更改特殊任务单元的背景和字体颜色的解决方案。
我枚举该代码示例中项目中的所有任务,如果statemet为true,我想更改当前单元格颜色
foreach(Task t in Project.Tasks)
{
if(t.Name=="TaskName")
{
//I want to change back color of current cell here
}
}
答案 0 :(得分:0)
最简单的部分是如何选择单元格并更改单元格的颜色:Application.SelectTaskCell
以选择单元格link to MSDN和Application.ActiveCell.CellColor
来设置单元格的颜色link to MSDN
但是有一个棘手的部分:Application.SelectTaskCell
接受rowId
作为第一个参数,并且无法通过任何任务属性获取行ID。所以我在测试样本中做了什么:
Project.TaskFilters
集合)Application.GroupApply("No Group")
)Application.AutoFilter = False
)Application.Sort(Key1:="ID", Ascending1:=True)
)之后,Task.ID应该非常接近任务行的Id。您可以通过ActiveCell.Task
仔细检查选择的任务,但这取决于您。