Copy Excel chart to PPT that is already open
try this
Sub OpenPPT()
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
'Get existing instance of PP if it's open; otherwise create a new one
On Error Resume Next
Set PPApp = GetObject("PowerPoint.Application")
If Err Then
Set PPApp = New PowerPoint.Application
Set PPPres = PPApp.Presentations.Open("C:\data\TestPPT.ppt")
Else
Set PPPres = PPApp.Presentations("TestPPT.ppt")
End If
On Error GoTo 0
'******Runs macro in PPT that copies data from excel and pastes onto PPT
slides
PPApp.Run (PPPres.Name & "!AddPieChart")
End Sub
"Tony Bender" wrote:
I have an Excel application where the user can view tables and charts
in Excel and have the option of exporting the table and pie chart into
a PowerPoint presentation. Here is my code that opens PPT and
launches a macro I have in PPT that copies the Excel pie chart and
table and pastes onto a new slide in the existing PPT file. This
works fine, except when I return to the Excel workbook and find other
tables I want to export into the PPT deck, this code opens a second
(read-only) version of the original. What is the code to simply copy
onto a PPT that is already open?
Sub OpenPPT()
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Set PPApp = CreateObject("PowerPoint.Application")
PPApp.Visible = msoTrue
Set PPPres = PPApp.Presentations.Open("C:\data\TestPPT.ppt")
'******Runs macro in PPT that copies data from excel and pastes
onto PPT slides
PPApp.Run (PPPres.Name & "!AddPieChart")
End Sub
I tried replacing
Set PPApp = CreateObject("PowerPoint.Application")
with
Set PPApp = GetObject("PowerPoint.Application")
but that doesn't work.
Can anyone help me with this?
Thank you,
TB
|