使用互操作(C#)将图片插入powerpoint

时间:2016-12-26 17:37:51

标签: c# powerpoint office-interop powerpoint-automation

有人可以帮帮我吗? 我正在尝试使用以下代码将图片插入powerpoint:

PPT.Shape sheetShape = slides[slideIndex].Shapes[shapeName];

...

slides[slideIndex].Shapes.AddPicture(fileName, MsoTriState.msoFalse, MsoTriState.msoTrue, sheetShape.Left, sheetShape.Top, sheetShape.Height, sheetShape.Width);

我的问题是,它将插入的图片移动为: http://i.imgur.com/Ia2MVbk.png

所以两者都有相同的位置但不是真的。 我做错了什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

因为仍然没有答案,我必须自己回答。

我想要插入的图表的问题是,它们之前已经旋转(从excel导出为图像,然后旋转)但是powerpoint表现得好像它们没有旋转,因此它们的大小和位置错误。 但后来我想,必须有可能在powerpoint中旋转它们,而不是之前。 就是这样。 所以我解决了我的问题,没有从excel导出图表,而是直接从excel c& p,然后在powerpoint中旋转它们。

这就是我现在的样子:

            chart.CopyPicture();
            PPT.ShapeRange sr = slides[slideIndex].Shapes.PasteSpecial();
            sr.Rotation = 90;               
            sr.Left = sheetShape.Left+30;
            sr.Top = sheetShape.Top;                
            sr.Width = sheetShape.Width;
            sr.Height = sheetShape.Height;

            sheetShape.Delete();

希望如果其他人遇到问题会有所帮助。