Как сохранить один файл слайдов Powerpoint с помощью VSTO - PullRequest
1 голос
/ 24 апреля 2011

Я хочу сохранить объект Slide в файл, используя VSTO.К сожалению, объект слайда не является сериализуемым, поэтому я не могу использовать стандартный способ сохранения объекта в файл.Я попытался сделать это с помощью xmlserializer, но не получил никаких ошибок, жалуясь на то, что объект Microsoft.Office.Interop.PowerPoint.Slide не может быть сериализован.

Ответы [ 2 ]

1 голос
/ 15 мая 2011

Я не уверен, что это лучший способ сделать это, но он должен работать =)

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();
0 голосов
/ 24 апреля 2011

Почему бы не сохранить файл pptx только с этим конкретным слайдом?

...