我想使用VSTO将Slide对象保存到文件中。 不幸的是,幻灯片对象是不可序列化的,因此我无法使用标准方法将对象保存到文件中。我尝试使用xmlserializer,但没有结果我得到错误抱怨Microsoft.Office.Interop.PowerPoint.Slide对象无法序列化。
答案 0 :(得分: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();
答案 1 :(得分:0)
为什么不保存一个只包含特定幻灯片的pptx文件?