2009-06-19 5 views
1

Unten ist eine Prozedur, die ich verwenden, um Diagramme aus Excel-Tabellen in eine PPT zu ziehen. Was ich jedoch nicht herausfinden kann ist, wie man das Bild in das "Objekt" einfügt, anstatt es einfach auf den Bildschirm einzufügen. (Wenn ich beispielsweise ein ppLayoutFourObjects erstellt und vier Diagramme an diese Folie gesendet habe, bevor ich eine weitere hinzufüge, muss ich wissen, wie ich das Diagramm in jedes ausgewählte Rechteck aus der Auswahl "4 Objekte" einfügen kann). Ich weiß, dass der erste immer Rechteck-Fünf zu sein scheint, ich kann den Code nicht richtig verstehen. Bitte helfen Sie. Dies ist alles 2003 Office.VBA zum Einfügen eines Diagramms in eine PPT-Folie

sub xls2ppt() 
'I use this to pull charts into ppt from excel 
Dim xlApp As Object 
Dim xlWrkBook As Object 
Dim lCurrSlide As Long 
Set xlApp = CreateObject("Excel.Application") 
' Open the Excel workbook 
Set xlWrkBook = xlApp.Workbooks.Open("X:\Users\Admin\Desktop\Budget Overview.xls") 
' Copy picture of the 1st chart object onto the clipboard 
xlWrkBook.Worksheets(2).ChartObjects(1).CopyPicture 
' Get the slide number 
lCurrSlide = ActiveWindow.Selection.SlideRange.SlideNumber 
' Paste the picture onto the PowerPoint slide. 
ActivePresentation.Slides(lCurrSlide).Shapes.Paste 
' Close the open workbook without saving changes 
xlWrkBook.Close (False) 
xlApp.Quit 
Set xlApp = Nothing 
Set xlWrkBook = Nothing 
End Sub 

Danke für jede Hilfe. VBA für PowerPoint ist meine schwächste, aber ich bin wirklich in der Notwendigkeit, es für die Arbeit abzuholen! Danke Leute!

+0

Sind die Rechtecke Platzhalter? Wenn ja, glaube ich, wenn Sie den Platzhalter vor dem Einfügen auswählen, wird das Diagramm in den Platzhalter eingefügt. (Ich arbeite immer noch an den Details für mein eigenes Projekt.) –

Antwort

2

AFAIK Sie können ein Diagramm "in ein Objekt" in PowerPoint nicht einfügen, auch nicht über die Benutzeroberfläche. In Word können Sie in ein Textfeld oder in eine Tabellenzelle einfügen, aber nicht in PowerPoint.

Was müssen Sie stattdessen zu tun ist, positionieren die 4 eingefügt Charts, so dass sie die richtige Größe & Position sind - und das ist einfach genug zu tun ...

Set oSlide = ActivePresentation.Slides(lCurrSlide) 
Set oShape = oSlide.Shapes.Paste 
oShape.Top = 10 
oShape.Left = 10 
oShape.Width = 100 
oShape.Height = 100 
+0

, die ziemlich gut waren! Vielen Dank! – Justin