【问题标题】:How to save a single powerpoint slide file using VSTO如何使用 VSTO 保存单个 powerpoint 幻灯片文件
【发布时间】:2011-05-15 20:46:22
【问题描述】:

我想使用 VSTO 将幻灯片对象保存到文件中。 不幸的是,幻灯片对象是不可序列化的,所以我不能使用标准方法将对象保存到文件中。我用 xmlserializer 进行了尝试,但没有结果我一直抱怨 Microsoft.Office.Interop.PowerPoint.Slide 对象无法序列化。

【问题讨论】:

    标签: vsto powerpoint


    【解决方案1】:

    我不确定这是否是最好的方法,但它应该可以工作 =)

    var temporaryPresentation = Globals.ThisAddIn.Application.Presentations.Add(Core.MsoTriState.msoFalse);
    var targetSlide = temporaryPresentation.Slides.Add(1, Interop.PpSlideLayout.ppLayoutBlank);
    
    foreach (Interop.Shape shape in sourceSlide.Shapes)
    {
        try
        {
            shape.Copy();
            targetSlide.Shapes.Paste();
        }
        catch (Exception) { };
     }
    
     temporaryPresentation.SaveAs(fileName, Interop.PpSaveAsFileType.ppSaveAsOpenXMLPresentation, Core.MsoTriState.msoFalse);
     temporaryPresentation.Close();
    

    【讨论】:

    • 是的,我设法将单个文件保存在新的演示文稿中。它就像一个魅力:-)
    【解决方案2】:

    为什么不保存一个只包含特定幻灯片的 pptx 文件?

    【讨论】:

    • 这是否意味着我需要创建另一个 Powerpoint 实例来创建一个新的应用程序来保存?
    • 你有c#代码示例吗?我希望保存当前幻灯片,这也可以是一个单独的 pptx 文件,只有一张幻灯片。
    • 是的,我设法将单张幻灯片保存在新的演示文稿中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多