Вставка изображений с помощью взаимодействия (C#) в PowerPoint

Кто-нибудь может мне помочь? Я пытаюсь вставить изображения в 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);

моя проблема в том, что он сдвигает вставленную картинку, как: https://i.imgur.com/Ia2MVbk.png

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

Спасибо.

1 ответ

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

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

Надеюсь, это поможет, если кто-то еще получил проблему.

Другие вопросы по тегам