如何使用 VSTO 保存单个 powerpoint 幻灯片文件

发布于 2024-11-02 21:59:39 字数 157 浏览 3 评论 0原文

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

I want to save a Slide object to a file using VSTO.
Unfortunately the slide object is non-serializable so i cannot use the standard way to save an object to a file. I tried it with the xmlserializer but no result i get keeping errors complaining that the Microsoft.Office.Interop.PowerPoint.Slide object cannot be serialized.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情深如许 2024-11-09 21:59:39

我不确定这是否是最好的方法,但它应该有效 =)

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();

I am not sure if this is the best way to do it, but it should work =)

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();
撞了怀 2024-11-09 21:59:39

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

Why not save a pptx file with just that particular slide in it?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文