2016-12-26 7 views
0

Может кто-нибудь помочь мне? Я пытаюсь вставить фотографии в PowerPoint, используя этот код:Вставка изображений с использованием interop (C#) в 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

Так оба имеют одну и ту же позицию, но не совсем. Что я делаю неправильно?

спасибо.

ответ

0

Так как ответа по-прежнему нет, я должен ответить сам.

Проблема с диаграммами, которые я хотел вставить, заключалась в том, что они были повернуты раньше (экспорт из excel как изображение, затем вращение), но powerpoint действуют так, как будто они не вращаются, поэтому они имеют неправильный размер и позиционирование. Но потом я подумал, должна быть возможность повернуть их в powerpoint, а не раньше. И вот оно. Итак, я решил проблему, не экспортируя графики из excel, но c & p их непосредственно из excel, а затем поворачивает их в 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(); 

Надеется, что это помогает, если кто-то получили эту проблему.