2012-03-02 3 views
1

PowerPoint 차트의 특정 자리 표시 자로 Excel 차트를 복사하려고합니다. 나는 Excel에서 다음 코드복사 PowerPoint 차트의 자리 표시 자에 Excel 차트

Sub NameShape() 
Dim Name$ 
On Error GoTo AbortNameShape 
If ActiveWindow.Selection.ShapeRange.Count = 0 Then 
    MsgBox "No Shapes Selected" 
    Exit Sub 
End If 
Name$ = ActiveWindow.Selection.ShapeRange(1).Name 
Name$ = InputBox$("Give this shape a name", "Shape Name", Name$) 
If Name$ <> "" Then 
    ActiveWindow.Selection.ShapeRange(1).Name = Name$ 
End If 
Exit Sub 
AbortNameShape: 
    MsgBox Err.Description 

End Sub 

를 사용하여 자리라는 이름의 한 나는이 늘어나는만큼 온 :

Sub CreateNewReport() 
Dim pptApp As PowerPoint.Application 
Dim pptPres As PowerPoint.Presentation 
Dim pptSlide As PowerPoint.Slide 
Dim pptShape As PowerPoint.Shape 
Dim w!, h!, t!, l! 
Dim Chart As Chart 


Set pptApp = CreateObject("PowerPoint.Application") 
pptApp.Visible = msoTrue 
Set pptPres = pptApp.Presentations.Open("C:\Users\...\Report.pptm") 
Set Chart = Worksheets("Analysts").ChartObjects("Chart 2") 
Set PPSlide = pptPres.Slides(4) 
'PPSlide.Shapes("Analyst.Forecasts").Copy 
Set pptShape = pptPres.Slides(4).Shapes(4) 
With pptShape 
    w = .Width 
    h = .Height 
    l = .Left 
    t = .Top 
    End With 
pptShape.Parent.Paste 
    With Selection 
    .Width = w 
    .Height = h 
    .Left = l 
    .Top = t 
    End With 
ppt.Shape.Delete 
End Sub 

사람이 여기에서 그것을 가지고하는 방법을 알고 있나요? 복사하려는 차트를 정의하는 방법과 붙여 넣기하는 방법을 잘 모르겠습니다. &은 Powerpoint의 Shep를 대체합니다. 이상적으로 나는 그것을 차트의 메타 파일로 바꾸고 싶지만 그림도 괜찮습니다.

도움 주셔서 감사합니다.

답변

1

나는이 코드를 사용하여 Excel에서 ppt를 만들고 placeHolder에 붙여 넣습니다.

Nr = 2 

'Verifique os graficos nos arquivos 
    For Each Grf In E.ActiveSheet.ChartObjects 
     Grf.Copy 
     Sld.Shapes.Placeholders(Nr).Select msoCTrue 
     P.ActivePresentation.Windows(1).View.PasteSpecial (ppPasteMetafilePicture) 
     Nr = Nr + 1 
    Next Grf 

End If 
관련 문제