1

有谁知道如何在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();
        }
4

1 回答 1

1

如果您陈述问题,则更容易帮助您解决问题。你说“这不是理想的结果”。这可能意味着很多事情,从“什么都没发生”到“我的电脑爆炸了”。;-)

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

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

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

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

s.Shapes.ShapeRange.Delete

于 2012-07-16T18:33:14.170 回答