How to convert from System.Drawing.Color to Excel.

2019-07-14 01:04发布

I'm developing a vsto addin for Excel, and I'm trying to change the color to the comments in Excel.

This is the code that I have:

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

The exception I'm getting is:

Cannot implicitly convert type 'System.Drawing.Color' to 'Microsoft.Office.Interop.Excel.ColorFormat'

I cannot find how to make a conversion between the two formats.

enter image description here

2条回答
一纸荒年 Trace。
2楼-- · 2019-07-14 01:24

One option is to use ColorTranslator.ToOle

int oleColor = ColorTranslator.ToOle(Color.Red);
activeCell.Comment.Shape.Fill.BackColor.RGB = oleColor;
查看更多
女痞
3楼-- · 2019-07-14 01:46

Try this:

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

Or this(EDIT: False):

activeCell.Comment.Shape.Fill.BackColor.RGB =  Color.FromRgb(255,0,0);
查看更多
登录 后发表回答