C# 使用c更改2016 MS项目中的CellColor#
我目前正在制作一个MS Project 2016插件,当条件为真时,我需要为特定任务(任务行)着色。 我正在使用c#NET4 我提出了一个方法:C# 使用c更改2016 MS项目中的CellColor#,c#,add-in,ms-project,C#,Add In,Ms Project,我目前正在制作一个MS Project 2016插件,当条件为真时,我需要为特定任务(任务行)着色。 我正在使用c#NET4 我提出了一个方法: public void colorYellow(MSProject.Task task){ Globals.ThisAddIn.Application.SelectRow(task.ID); Globals.ThisAddIn.Application.ActiveCell.CellColor = PjColor.pjYe
public void colorYellow(MSProject.Task task){
Globals.ThisAddIn.Application.SelectRow(task.ID);
Globals.ThisAddIn.Application.ActiveCell.CellColor = PjColor.pjYellow;
}
我遇到异常:意外的方法错误
有没有办法用某种方式给整个任务行着色?
谢谢你的回答 意外的方法错误源于您实际上选择了一个空行,因为默认情况下
SelectRow
方法是相对的。除非第二个可选参数RowRelative
作为False传入,否则选择将向前移动task.ID
行。因此,请尝试:
Globals.ThisAddIn.Application.SelectRow(task.ID, false);
如果单元格颜色仍然没有更改,请查看该方法以获得更改单元格颜色的替代方法。尽管MSDN引用指示Color参数改变了字体颜色,但一些SO帖子(以及我自己的测试)显示它实际上改变了背景颜色。(注:这远非MS Project的MSDN参考页不准确的唯一情况。)
(请注意代码示例:我是一名vb.net程序员……不确定将False作为第二个参数传递是否正确。)第1行是函数原型,如果使用调试器,会在哪一行发生错误?应该可以做你想做的事:坚持住。