Цвет текста в надстройке PowerPoint - PullRequest
2 голосов
/ 02 марта 2010

Кто-нибудь знает, как изменить цвет выделенного диапазона текста в надстройке PowerPoint с помощью C #?

Ответы [ 3 ]

2 голосов
/ 10 мая 2012

или просто:

Globals.ThisAddIn.Application.ActiveWindow.Selection.TextRange.Font.Color.RGB = c.ToArgb();

где 'c' - ваш элемент Color.

1 голос
/ 13 сентября 2013

Если кто-то все еще ищет решение:

У меня была такая же проблема. Потратив некоторое время разобрался таким образом,

var paragraph1 = oTxtRange.Paragraphs(1);
paragraph1.Text = "Test ";
paragraph1.Font.Color.RGB = BGR(Color.Black);

var paragraph2 = oTxtRange.Paragraphs(2);
paragraph2.Text = "Application ";
paragraph2.Font.Color.RGB = BGR(Color.Green);

private int BGR(Color color)
{

 // PowerPoint's color codes seem to be reversed (i.e., BGR) not RGB, so we have  to  produce the color in reverse

 int iColor = (color.A << 24) | (color.B << 16) | (color.G << 8) | color.R;
 return iColor;
}

Надеюсь, это поможет!

1 голос
/ 03 марта 2010

Ну, если вы используете взаимодействие ...


 var app = new ApplicationClass();
 app.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
 var myPresentation = app.Presentations.Open("c:\\test.pptx",
 Microsoft.Office.Core.MsoTriState.msoFalse,
 Microsoft.Office.Core.MsoTriState.msoFalse,
 Microsoft.Office.Core.MsoTriState.msoTrue);

 var slide1 = myPresentation.Slides[1];
 var range = slide1.Shapes[1].TextFrame.TextRange;
 range.Font.Color.RGB = -654262273;

И не забудьте

System.Runtime.InteropServices.Marshal.ReleaseComObject(<your com objects here>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...