MS Project 根据状态字段更改行中的文本颜色

MS Project 根据状态字段更改行中的文本颜色

我希望根据“状态”字段中显示的内容更改整行文本的颜色。

我搜索过其他论坛,找到了一些接近的解决方案,但没有一个能真正满足我的要求。我知道突出显示功能和条件格式,但我无法让它们满足我的需要。大约 5 年前,我编写了一些 VB 代码来做这件事,但我是个新手,我花了大约 5 天时间编写了最基本的代码,然后在我离开上一份工作时失去了它。:-(

因此,我希望有一些 VBA 可以执行以下操作:

  • 如果状态 = “迟到”,则将行中的文本颜色设为“红色”
  • 如果状态 = “按计划”,则将行中的文本颜色为“绿色”
  • 如果状态 = “未来任务”,则将行中的文本颜色为“黑色”
  • 如果状态 = “完成”,则将行中的文本颜色为“灰色”

我希望能够更进一步,实现如下效果:如果状态 = “按计划进行”,且完成百分比 < 85%,且“完成日期” < 未来 5 天,则将行中的文本颜色设为“橙色”

答案1

子完成百分比子()

Dim t 作为任务 Dim i 作为整数

'遍历整个 ms 项目文件

对于 ActiveProject.Tasks 中的每个 t,i = 1

SelectRow Row:=i, RowRelative:=False

If Not t Is Nothing Then

    Select Case t.Status
        Case 0 'Complete
            Font32Ex CellColor:=&H98FB98 'LIGHT GREEN
        Case 1 'On Schedule
            Font32Ex CellColor:=&HE0FFFF 'TAN
        Case 2 'Late
            Font32Ex CellColor:=&HC0FF& 'LIGHT RED
        Case 2 'Future Task
            Font32Ex CellColor:=&HFFFFFF 'WHITE
    End Select
End If

我=我+ 1

下一步

子目录结束

相关内容