2011-05-10 68 views
1

这看起来应该是直截了当,但我看到一些奇怪的行为。我试图根据标记对我的任务进行颜色编码。它看起来正确地着色任务,但在处理的某个时刻,被着色的初始任务正在被重置为黑色。它发生的任务似乎也相当不一致。以下是我正在努力执行这项任务(简化为它的最起码的形式):Microsoft Project宏中的颜色编码任务

Sub ColorTasks() 
    Dim t As Task 
    For Each t In ActiveProject.Tasks 
     SelectRow t.ID, RowRelative:=False 
     Font32Ex Color:=2366701 
    Next 
End Sub 

此代码似乎工作只是罚款较小的数据集,但这个项目包含了大约2000个任务。有任何想法吗?

+0

我很好奇这个为好;如果你找到答案,请发帖。 – 2011-05-25 15:29:30

回答

1

是我也是有类似的问题::

For Each t In tsks 
    Select Case t.Text1 
     Case "COMPLETE" 
      SelectRow Row:=t.ID, RowRelative:=False 
      Font32Ex CellColor:=&659B59 
     Case "NOT STARTED" 
      SelectRow Row:=t.ID, RowRelative:=False 
      Font32Ex CellColor:=&862525 
     Case "IN PROGRESS" 
      SelectRow Row:=t.ID, RowRelative:=False 
      Font32Ex CellColor:=&3A3AD4 
    End Select 
Next t 

根据:http://msdn.microsoft.com/en-us/library/ff863572.aspx这应该工作,但我每次得到的语法错误。只有这样我才能得到这个工作是,如果我使用FontEx方法,这限制了我只有16种颜色....

1

我知道这是一个老问题,但我希望它可能有用的人有类似的问题。

的错误是,你忘了前十六进制数增加“H”,所以正常应该有:

Font32Ex CellColor:=&H3A3AD4 
etc