Как программно изменить цвет фона в ячейке 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-го параметра, и нет никакого способа получить идентификатор строки по любому атрибуту задачи. Итак, что я сделал в моем тестовом образце:
- Отключить фильтры, переключившись на фильтр "Все задачи" (
Project.TaskFilters
коллекция) - Отключить группировку (
Application.GroupApply("No Group")
) - Отключить автофильтр (
Application.AutoFilter = False
) - Курорт все по ID (
Application.Sort(Key1:="ID", Ascending1:=True)
)
После этого Task.ID должен быть довольно близок к I d строки задачи. Вы можете дважды проверить, какая задача выбрана через ActiveCell.Task
но это зависит от вас.