12

私は C# にかなり慣れていないので、RGB カラーまたは system.color を WdColor に変換する簡単な方法がないことは、ほとんど言葉では言い表せません。

VB は単純ですが、C# は非常に難しいですか?

プロジェクトで VB を参照したくありません。

私はこれを単語自動化プロジェクトで使用して、フォントに色を付けています。

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

しかし、この上記の行は不可能です。WdColor である必要があります。

4

3 に答える 3

21
Color c = Colors.Blue;
var wdc = (Microsoft.Office.Interop.Word.WdColor)(c.R + 0x100 * c.G + 0x10000 * c.B);
于 2012-10-25T19:12:20.260 に答える
6

Microsoft.VisualBasic dll への参照を追加する

using Microsoft.VisualBasic;

int rgbColor = Information.RGB(100, 150, 75);
Word.WdColor wdColor = (Word.WdColor)rgbColor;
于 2012-10-25T19:17:09.763 に答える
3

人々は拡張メソッドを好むかもしれないと思いました:

    public static void ColorRGB(this Wd.Font font, int red, int green, int blue)
    {
        font.Color = (Wd.WdColor)(red + 0x100 * green + 0x10000 * blue);
    }
于 2014-11-26T05:22:59.260 に答える