【发布时间】:2011-05-15 20:46:22
【问题描述】:
我想使用 VSTO 将幻灯片对象保存到文件中。 不幸的是,幻灯片对象是不可序列化的,所以我不能使用标准方法将对象保存到文件中。我用 xmlserializer 进行了尝试,但没有结果我一直抱怨 Microsoft.Office.Interop.PowerPoint.Slide 对象无法序列化。
【问题讨论】:
标签: vsto powerpoint
我想使用 VSTO 将幻灯片对象保存到文件中。 不幸的是,幻灯片对象是不可序列化的,所以我不能使用标准方法将对象保存到文件中。我用 xmlserializer 进行了尝试,但没有结果我一直抱怨 Microsoft.Office.Interop.PowerPoint.Slide 对象无法序列化。
【问题讨论】:
标签: vsto powerpoint
我不确定这是否是最好的方法,但它应该可以工作 =)
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();
【讨论】:
为什么不保存一个只包含特定幻灯片的 pptx 文件?
【讨论】: