7

我使用 C# 创建了一个 PowerPoint 演示文稿:

PowerPoint.Application powerpointApplication;
PowerPoint.Presentation pptPresentation;
PowerPoint.Slide Slide;

// Create an instance of PowerPoint.
powerpointApplication = new PowerPoint.ApplicationClass();

// Create a PowerPoint presentation.
pptPresentation = powerpointApplication.Presentations.Add(
Microsoft.Office.Core.MsoTriState.msoTrue);


// Create empty slide
Slide = pptPresentation.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

TextRange objTextRng = objSlide.Shapes[1].TextFrame.TextRange;
objTextRng.Text = "Remote sensing calendar 1";
objTextRng.Font.Name = "Comic Sans MS";
objTextRng.Font.Size = 48;
// TODO: change color
// objTextRng.Font.Color 



// Save presentation
pptPresentation.SaveAs( BasePath + "result\\2_example.ppt", 
                       PowerPoint.PpSaveAsFileType.ppSaveAsDefault, 
                       MsoTriState.msoTrue // TODO: что за параметр???
                      );
pptPresentation.Close();

现在,如何更改字体颜色objTextRng

4

4 回答 4

7

以下代码将字体颜色设置为红色:

objTextRng.Font.Color.RGB = Color.Red.ToArgb();

如果要指定不同的颜色,可以使用其他预定义颜色之一,或使用Color.FromArgb方法指定自己的 RGB 值。

无论哪种方式,请确保在您使用的对象上调用该ToArgb方法。ColorRGB属性要求指定 RGB 颜色值。

于 2011-03-09T14:27:40.553 回答
5

将此用于 PPTX 2007

    private int BGR(Color color)
    {
        // PowerPoint's color codes seem to be reversed (i.e., BGR) not RGB
        //      0x0000FF    produces RED not BLUE
        //      0xFF0000    produces BLUE not RED
        // so we have to produce the color "in reverse"

        int iColor = color.R + 0xFF * color.G + 0xFFFF * color.B;

        return iColor;
    }

例如

    shape.TextFrame.TextRange.Font.Color.RGB = BGR(Color.Red);  
于 2012-01-03T22:54:29.230 回答
0

我认为这个 MSDN 页面解释了它。

编辑: 但这仅说明如何在 VBScript 中执行此操作。您可以看到该TextRange对象具有一个属性Font。这将返回在此处Font描述的对象。这些资源表明您可以访问 RGB 属性。你可以像 Cody 告诉你的那样设置它。如果您需要更多信息,请参阅我刚刚指出的 MSDN 部分。

于 2011-03-09T14:33:50.040 回答
0

objTextRng.Font.Color.RGB = System.Drawing.ColorTranslator.ToOl(System.Drawing.Color.Blue);

于 2013-09-25T20:40:27.767 回答