Преобразовать Систему.Цвет Для Microsoft Word WdColor

Я довольно новичок в C# и считаю почти невыразимым, что нет простого способа преобразования цвета RGB или системы.цвет WdColor!

VB просто, C# - это действительно так сложно сделать?

Я не хочу ссылаться на VB в моем проекте.

Я использую это в каком-то проекте автоматизации word для цвета шрифта, например

tmpRange.Find.Replacement.Font.Color = Color.FromArgb(100, 150, 75); 

но эта строка выше невозможна, она должна быть WdColor.

3 ответов


Color c = Colors.Blue;
var wdc = (Microsoft.Office.Interop.Word.WdColor)(c.R + 0x100 * c.G + 0x10000 * c.B);

добавить ссылку на Microsoft.VisualBasic dll

using Microsoft.VisualBasic;

int rgbColor = Information.RGB(100, 150, 75);
Word.WdColor wdColor = (Word.WdColor)rgbColor;

Я думал, что людям может понравиться метод расширения:

    public static void ColorRGB(this Wd.Font font, int red, int green, int blue)
    {
        font.Color = (Wd.WdColor)(red + 0x100 * green + 0x10000 * blue);
    }