How can I export chart with specific position from excel to ppt in VBA?

1.4k Views Asked by At
Sheets("Slide Name").ChartObjects("Object 8").Select

Selection.Copy

   mySlide.Select

The datatype is ppPasteOLEObject, not ppPasteEnhancedMetafile,

mySlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, _
       Link:=msoTrue

Below code is not working.

   Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)

      myShapeRange.Left = 234
      myShapeRange.Top = 186

How can i select the specific chart in PowerPoint and reposition it?

1

There are 1 best solutions below

0
On

This short test just works.

Option Explicit

Sub test()
    Dim objSlide As Slide
    Dim objPresentation As Presentation
    Dim objShape As Shape
    Dim objApplication As Excel.Application
    Dim objWorkbook As Workbook
    Dim objWorksheet As Worksheet

    Set objApplication = New Excel.Application
    Set objWorkbook = objApplication.Workbooks.Open("c:\@Test\Chart.xlsx")
    Set objWorksheet = objWorkbook.Worksheets(1)
    Set objPresentation = ActivePresentation
    Set objSlide = objPresentation.Slides(1)
    objWorksheet.ChartObjects("Chart 1").Select

    objApplication.Selection.Copy

    objSlide.Select
    objSlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoTrue

    Set objShape = objSlide.Shapes(objSlide.Shapes.Count)
    objShape.Left = 100
    objShape.Top = 100
End Sub

You can have a breakpoint when getting shape object and give it a try in watch. The paste operation always adds a new item to the end of the list.