如何在C#中将System.Drawing.Color转换为Excel.ColorFormat?更改评论颜色

时间:2016-06-13 09:20:28

标签: c# excel vsto excel-addins system.drawing.color

我正在为Excel开发一个vsto插件,我正在尝试将颜色更改为Excel中的注释。

这是我的代码:

Excel.Range activeCell = _application.ActiveCell;
activeCell.AddComment("some text"));
activeCell.Comment.Shape.Fill.BackColor = Color.Red;

我得到的例外是:

  

无法将类型'System.Drawing.Color'隐式转换为'Microsoft.Office.Interop.Excel.ColorFormat'

我找不到如何在两种格式之间进行转换。

enter image description here

2 个答案:

答案 0 :(得分:4)

一种选择是使用ColorTranslator.ToOle

int oleColor = ColorTranslator.ToOle(Color.Red);
activeCell.Comment.Shape.Fill.BackColor.RGB = oleColor;

答案 1 :(得分:0)

试试这个:

activeCell.Comment.Shape.Fill.BackColor = XlRgbColor.rgbRed;

或者这(编辑:错误):

activeCell.Comment.Shape.Fill.BackColor.RGB =  Color.FromRgb(255,0,0);