Изменить цвет фона текста в Word

ситуация:

  • .нет 3.5
  • С# или vb.net (также проверено)
  • надстройка ворд 2007

Я пытаюсь установить цвет фона текста на пользовательский цвет RGB.

Код следующий:

Range r = this.Application.ActiveDocument.Range();
r.Text = "blabla";
r.Font.Shading.BackgroundPatternColor =(WdColor) Color.FromArgb(0, 214, 227,188).ToArgb();

Сначала вроде работает, только цвет не тот. Кажется, что всякий раз, когда я устанавливаю собственный цвет, он меняет его на существующую константу WdColor. Взгляните на документ, там написано:

Возвращает или задает 24-битный цвет, который применяется к фону объекта Shading. Может быть любой допустимой константой WdColor или значением, возвращаемым функцией RGB Visual Basic.

Итак, мой вопрос: кто-нибудь имеет представление о том, как это должно работать?

спасибо


person lnu    schedule 16.04.2012    source источник
comment
Возможный дубликат change-text-font-color-in-word-document   -  person Marshal    schedule 16.04.2012
comment
В нем говорится в основном то же самое, что и в документе: используйте и индексируйте или пользовательский, но это то, что не работает.   -  person lnu    schedule 16.04.2012


Ответы (1)


Используйте ColorTranslator.

Range r = this.Application.ActiveDocument.Range();
r.Text = "blabla";
r.Font.Shading.BackgroundPatternColor =(WdColor)ColorTranslator.ToOle(0, 214, 227,188);
person Kiru    schedule 23.04.2012
comment
Пример кода не работает, как указано; Я считаю, что отсутствует вызов промежуточного метода: ColorTranslator.ToOle(Color.FromArgb(0, 214, 227,188));. Возможно, другая версия .Net? - person Chris; 23.08.2016