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

How to convert from System.Drawing.Color to Excel.ColorFormat in C#? Change comment color

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

这是我的代码:

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

我遇到的异常是:

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

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

一种选择是使用 ColorTranslator.ToOle

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

试试这个:

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

或者这个(编辑:错误):

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