Как автоматически менять цвет названия задачи

Изменение шрифта, цвета или любых других параметров доступно под Format | Text Styles и может быть сделано автоматически для набора предопределенных задач. Единственным возможным вариантом для РМ остается либо использовать колонку "Marked", либо прибегать к коду / VBA.


Первоначальной задачей было был изменять цвет текста на основе % от завершения. Это относительно просто и мы можем сделать это с помощью следующего утверждения.
Циклично по всем задачам, и для каждой задачи, которая не является суммарной или пустой задачей, выполните следующие действия ....
If Tsk.PercentComplete = 100 Then
SelectRow Tsk.ID, RowRelative:=False
SelectTaskField Row:=Tsk.ID, RowRelative:=False, Column:=”Name”
Font Color:=pjGray
Else
SelectRow Tsk.ID, RowRelative:=False
SelectTaskField Row:=Tsk.ID, RowRelative:=False, Column:=”Name”
Font Color:=pjBlack
End If
Пока все хорошо, но вы заметите, что если вы примените это, то произойдут две вещи. Во-первых, экран мигает во время обновления. Это может быть включено / выключено с помощью следующей инструкции в начале кода
Application.ScreenUpdating = False
и затем
Application.ScreenUpdating = Ture
в конце кода.
Вторая проблема состоит в том, что курсор перемещается по мере того, как просматривает задачи, так что стоит сохранить оригинальное расположение курсора, а затем сбросить его, когда код запущен.
Dim OriginalTsk as Task
Set OriginalTsk = ActiveCell.Task
и потом в конце кода…
EditGoTo ID:=OriginalTsk.ID