Как программно изменить цвет фона в ячейке MS Project 2007?

Я пытаюсь автоматизировать некоторые функции MS Project с помощью C# и не могу найти решение, как изменить фон и цвет шрифта ячейки специальной задачи.

Я перечисляю все задачи в проекте в этом примере кода, и когда, если statemet равен true, я хочу изменить текущий цвет ячейки

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

1 ответ

Самая простая часть состоит в том, как выбрать ячейку и изменить ее цвет: Application.SelectTaskCell выбрать сотовую ссылку на MSDN и Application.ActiveCell.CellColor установить цвет ссылки на ячейку для MSDN

Но есть сложная часть: Application.SelectTaskCell принимает rowId в качестве 1-го параметра, и нет никакого способа получить идентификатор строки по любому атрибуту задачи. Итак, что я сделал в моем тестовом образце:

  1. Отключить фильтры, переключившись на фильтр "Все задачи" (Project.TaskFilters коллекция)
  2. Отключить группировку (Application.GroupApply("No Group"))
  3. Отключить автофильтр (Application.AutoFilter = False)
  4. Курорт все по ID (Application.Sort(Key1:="ID", Ascending1:=True))

После этого Task.ID должен быть довольно близок к I d строки задачи. Вы можете дважды проверить, какая задача выбрана через ActiveCell.Task но это зависит от вас.

Другие вопросы по тегам