节省powerpoint形状添加

时间:2015-03-30 10:53:45

标签: c# vsto powerpoint

我正在考虑从powerpoint幻灯片中获取选定的形状,如果可能的话,保存它们。获得形状部分很好并且工作正常,但是在尝试保存形状或序列化并保存时没有任何运气。

此前有没有人做过类似的事情。

Slide currentSlide = Globals.ThisAddIn.Application.ActiveWindow.View.Slide;
              if (currentSlide != null)
              {
                var selection=  Globals.ThisAddIn.Application.ActiveWindow.Selection;

                if (selection.ShapeRange != null)
                {
                    var shapecount = selection.ShapeRange.Count;

                    if (shapecount > 0)
                    {
                        for (int i = 1; i <= shapecount; i++)
                        {
                            var shape = selection.ShapeRange[i];

                            //want to serialize shape object and save it for later use.
                        }
                    }
                }

              }

2 个答案:

答案 0 :(得分:1)

没有对形状的序列化支持,因此要么您阅读所有属性并根据需要保存它们,要么您只需创建一个存储库PPTX来存储您想要保存的所有形状。

答案 1 :(得分:0)

Shape类不提供任何序列化方法。您需要以适当的格式保存属性值(JSON,XML等)。所以稍后您可以根据文件内容创建新形状并设置属性。