Change text backgroundcolor in Word
-
31-05-2021 - |
Pregunta
the situation:
- .net 3.5
- c# or vb.net(also tested)
- word 2007 add-in
I'm trying to set the Background Color of the text to a custom rgb color.
The code is the following:
Range r = this.Application.ActiveDocument.Range();
r.Text = "blabla";
r.Font.Shading.BackgroundPatternColor =(WdColor) Color.FromArgb(0, 214, 227,188).ToArgb();
At first it seems to work, except that the color is not the right one. It seems that whenever I set a custom color, it changes it to an existing WdColor constant. Having a look at the doc, it says :
Returns or sets the 24-bit color that's applied to the background of the Shading object. Can be any valid WdColor constant or a value returned by Visual Basic's RGB function.
So, my question is: does anybody has an idea of how it's supposed to work?
Thanx
Solución
Use ColorTranslator
Range r = this.Application.ActiveDocument.Range();
r.Text = "blabla";
r.Font.Shading.BackgroundPatternColor =(WdColor)ColorTranslator.ToOle(0, 214, 227,188);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow