我正在尝试使用 C# 自动化一些 MS Project 功能,但找不到如何更改特殊任务单元格的背景和字体颜色的解决方案。
我在该代码示例中枚举了项目中的所有任务,如果 statemet 为真,我想更改当前单元格颜色
foreach(Task t in Project.Tasks)
{
if(t.Name=="TaskName")
{
//I want to change back color of current cell here
}
}
我正在尝试使用 C# 自动化一些 MS Project 功能,但找不到如何更改特殊任务单元格的背景和字体颜色的解决方案。
我在该代码示例中枚举了项目中的所有任务,如果 statemet 为真,我想更改当前单元格颜色
foreach(Task t in Project.Tasks)
{
if(t.Name=="TaskName")
{
//I want to change back color of current cell here
}
}
最简单的部分是如何选择一个单元格并更改单元格的颜色:Application.SelectTaskCell
选择一个单元格链接到 MSDN并Application.ActiveCell.CellColor
设置单元格链接的颜色到 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
但这取决于您。