VBA per l'inserimento di un grafico in una diapositiva ppt
-
06-07-2019 - |
Domanda
Di seguito è una procedura che uso per estrarre grafici in un ppt da fogli di calcolo Excel. Tuttavia una cosa che non riesco a capire è come inserire l'immagine nell'oggetto " oggetto " invece di incollarlo sullo schermo. (cioè se ho fatto un ppLayoutFourObjects e inviato quattro grafici a questa diapositiva, prima di aggiungerne un altro, devo sapere come incollare il grafico in ciascun rettangolo designato mostrato dalla selezione 4 Oggetti). So che il primo sembra essere sempre il rettangolo cinque, non riesco a ottenere il codice giusto. Per favore aiuto. Questo è tutto 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
Grazie per l'aiuto. VBA per PowerPoint è il mio più debole, ma ho davvero bisogno di prenderlo per lavoro! Grazie ragazzi!
Soluzione
AFAIK non puoi incollare un grafico " in un oggetto " in PowerPoint, anche attraverso l'interfaccia utente. In Word, puoi incollare in una casella di testo o in una cella di tabella, ma non in PowerPoint.
Quello che devi fare invece è posizionare i 4 grafici incollati in modo che siano della giusta dimensione & amp; posizione - ed è abbastanza facile da fare ...
Set oSlide = ActivePresentation.Slides(lCurrSlide)
Set oShape = oSlide.Shapes.Paste
oShape.Top = 10
oShape.Left = 10
oShape.Width = 100
oShape.Height = 100