0

我正在尝试使用 C# 自动化一些 MS Project 功能,但找不到如何更改特殊任务单元格的背景和字体颜色的解决方案。

我在该代码示例中枚举了项目中的所有任务,如果 statemet 为真,我想更改当前单元格颜色

foreach(Task t in Project.Tasks)
{
    if(t.Name=="TaskName")
    {
        //I want to change back color of current cell here
    }
}    
4

1 回答 1

0

最简单的部分是如何选择一个单元格并更改单元格的颜色:Application.SelectTaskCell选择一个单元格链接到 MSDNApplication.ActiveCell.CellColor设置单元格链接的颜色到 MSDN

但是有一个棘手的部分:Application.SelectTaskCell接受rowId作为第一个参数,并且无法通过任何任务属性获取行 id。所以我在我的测试样本中做了什么:

  1. 通过切换到“所有任务”过滤器(Project.TaskFilters集合)禁用过滤器
  2. 禁用分组 ( Application.GroupApply("No Group"))
  3. 禁用自动筛选 ( Application.AutoFilter = False)
  4. 通过 ID 处理所有内容 ( Application.Sort(Key1:="ID", Ascending1:=True))

之后 Task.ID 应该非常接近任务行的 Id。您可以仔细检查选择了哪些任务,ActiveCell.Task但这取决于您。

于 2012-12-31T07:25:12.343 回答