Error in script which copies charts from Excel to PowerPoint

前端 未结 3 1159
渐次进展
渐次进展 2021-01-16 15:24

I am attempting to call the below Sub in order to copy given chart to a specified PowerPoint presentation. However, when I run the macro which calls this Sub, the line indic

3条回答
  •  忘掉有多难
    2021-01-16 15:51

    I like to use another method, I like to define an Object, then set it to the pasted Chart. Afterwards, it's much easier modifying the pasted Chart object's parameters inside PowerPoint (from Excel).

    See code below:

    Sub copyChart(curSlide As Slide)
    
    Dim chr             As ChartObject
    Dim myChart         As Object
    
    Set chr = Sheets("CHARTSHEET").ChartObjects(1)
    chr.Copy
    
    ' setting myChart object to the pasted chart (let's me later an easy way to modify it's parameters)   
    Set myChart = curSlide.Shapes.PasteSpecial(ppPasteBitmap, msoFalse) ' can change first parameter to other avaialabe formats : ppPasteGIF, ppPasteEnhancedMetafile, ppPasteOLEObject, etc.
    
    ' set different parameters for the pasted chart in PowerPoint slide
    With myChart
        .Left = 200
        .Top = 200
    End With
    
    End Sub
    

    In the code line:

    Set myChart = curSlide.Shapes.PasteSpecial(ppPasteBitmap, msoFalse)
    

    You can change the first parameter in brackets: ppPasteBitmap to many other avaialble formats (test them and see which one gives you the best result), such as: ppPasteGIF, ppPasteEnhancedMetafile, ppPasteOLEObject, etc.

提交回复
热议问题