Question

Ci-dessous, une procédure que j’utilise pour extraire les graphiques d’un ppt à partir de feuilles de calcul Excel. Cependant, une chose que je ne peux pas comprendre, c'est comment insérer l'image dans le "objet". au lieu de simplement le coller sur l'écran. (Par exemple, si j'ai fait un ppLayoutFourObjects et envoyé quatre graphiques à cette diapositive, avant d'en ajouter un autre, je dois savoir comment coller le graphique dans chaque rectangle désigné dans la sélection 4 Objets). Je sais que le premier semble toujours être rectangle cinq, je ne peux pas obtenir le code correct. S'il vous plaît aider.  C'est tout Office 2003.

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

Merci pour toute aide. VBA pour PowerPoint est mon plus faible, mais j'ai vraiment besoin de le prendre pour le travail! Merci les gars!

Était-ce utile?

La solution

Autant que vous puissiez, vous ne pouvez pas coller un graphique "dans un objet". dans PowerPoint, même à travers l'interface utilisateur. Dans Word, vous pouvez coller dans une zone de texte ou dans une cellule de tableau, mais pas dans PowerPoint.

Ce que vous devez faire à la place est de positionner les 4 graphiques collés de manière à ce qu'ils soient de la bonne taille & amp; position - et c'est assez facile à faire ...

Set oSlide = ActivePresentation.Slides(lCurrSlide)
Set oShape = oSlide.Shapes.Paste
oShape.Top = 10
oShape.Left = 10
oShape.Width = 100
oShape.Height = 100
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top