保存幻灯片的背景图像

时间:2012-07-16 13:50:52

标签: c# ms-office powerpoint office-interop

有没有人知道如何在powerpoint演示文稿中保存幻灯片的背景图像(2010)。这是我的代码的一部分,我正在尝试清除幻灯片以获取背景图像,但这并不是理想的结果

PowerPoint.Presentation p = app.Presentations.Open(slidesContainerPath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);

        string imagename;
        foreach (PowerPoint.Slide s in p.Slides) {
            imagename = s.SlideIndex.ToString() + ".jpg";
            s.BackgroundStyle = Microsoft.Office.Core.MsoBackgroundStyleIndex.msoBackgroundStyleNotAPreset;
            foreach(Microsoft.Office.Interop.PowerPoint.Shape shape in s.Shapes)
            {
                shape.Delete();
            }                
            s.Export(imagesContainerPath + "\\" + imagename, "JPG");
        }
        if (p != null) {
            p.Close();
        }

1 个答案:

答案 0 :(得分:1)

如果您解决问题,可以更轻松地帮助您解决问题。 你说“这不是理想的结果”。这可能意味着许多事情,从“没有发生”到“我的电脑爆炸”。 ; - )

如果我不得不猜测(和我一样),我会说你可能会看到从幻灯片中删除所有其他形状而不是每个形状。而不是foreach循环,使用这样的东西(VB / VBA,根据需要翻译):

For x = s.Shapes.Count to 1 Step -1
  sShapes(x).Delete
Next

这将删除幻灯片上的所有形状。

或者只是这个而不是循环:

s.Shapes.ShapeRange.Delete