我对C#很陌生,发现将RGB颜色或system.color转换为WdColor的简单方法几乎无法形容!
VB很简单,C# - 真的很难吗?
我不想在我的项目中引用VB。
我在某个自动化项目中使用它来为字体着色,例如
tmpRange.Find.Replacement.Font.Color = Color.FromArgb(100, 150, 75);
但是上面这行不可能,它需要是WdColor。
答案 0 :(得分:15)
Color c = Colors.Blue;
var wdc = (Microsoft.Office.Interop.Word.WdColor)(c.R + 0x100 * c.G + 0x10000 * c.B);
答案 1 :(得分:5)
添加对Microsoft.VisualBasic dll的引用
using Microsoft.VisualBasic;
int rgbColor = Information.RGB(100, 150, 75);
Word.WdColor wdColor = (Word.WdColor)rgbColor;
答案 2 :(得分:2)
我认为人们可能会喜欢扩展方法:
public static void ColorRGB(this Wd.Font font, int red, int green, int blue)
{
font.Color = (Wd.WdColor)(red + 0x100 * green + 0x10000 * blue);
}