【问题标题】:Changing CellColor in MS Project 2016 with c#使用 c# 在 MS Project 2016 中更改 CellColor
【发布时间】:2018-12-21 15:11:59
【问题描述】:

我目前正在制作 MS Project 2016 插件,当条件为真时,我需要为特定任务(任务行)着色。 我正在使用 c# .NET4

我做了一个方法:

public void colorYellow(MSProject.Task task){
        Globals.ThisAddIn.Application.SelectRow(task.ID);
        Globals.ThisAddIn.Application.ActiveCell.CellColor = PjColor.pjYellow;      
    }

我遇到异常:意外的方法错误。

有没有办法以某种方式为整个任务行着色? 谢谢你的回答!

【问题讨论】:

  • 第 1 行是函数原型,如果您使用调试器单步执行,会在哪一行出现错误?应该可以做你想做的事:坚持下去。

标签: c# add-in ms-project


【解决方案1】:

Unexpected method 错误源于您实际上选择了一个空白行,因为默认情况下SelectRow 方法是相对。除非可选的第二个参数 RowRelative 作为 False 传入,否则选择会向前移动 task.ID 行。所以试试:

Globals.ThisAddIn.Application.SelectRow(task.ID, false);

See MSDN reference for the SelectRow method

如果单元格颜色仍未改变,请查看Font32Ex 方法以获取更改单元格颜色的替代方法。尽管 MSDN 参考表明 Color 参数改变了 font 颜色,但一些 SO 帖子(以及我自己的测试)表明它实际上改变了背景颜色。 (注意:这远非 MS Project 的 MSDN 参考页面不准确的唯一情况。)

SO post #1 about changing background color

SO post #2 about color coding

(关于代码示例的注意事项:我是 vb.net 程序员...不确定这是否是传递 False 作为第二个参数的正确语法。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多