Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have some Excel code that copies some Excel charts to PowerPoint. It's
giving me an error message that the clipboard is empty. Something in my code must be emptying the clipboard, but I don't see what it is. The error message occurs when I try to paste the chart at the last line of the code shown below: Range("Analysis_Left").CopyPicture Appearance:=xlScreen, Format:=xlPicture 'Open PowerPoint Set myAPP = CreateObject("Powerpoint.Application") myAPP.Visible = True myAPP.WindowState = ppWindowMinimized ThisWorkbook.Activate 'Create one new PowerPoint presentation and no more If myAPP.Presentations.Count = 0 Then Set ppPres = myAPP.Presentations.Add(msoTrue) ppPres.Slides.Add 1, ppLayoutBlank Else NextSlide = 1 + (myAPP.ActivePresentation.Slides.Count) myAPP.ActiveWindow.View.GotoSlide Index:=myAPP.ActivePresentation.Slides.Add(NextSli de, Layout:=ppLayoutBlank).SlideIndex End If 'Paste the left side of the image into a PowerPoint slide myAPP.ActiveWindow.View.Paste |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Why not move the copypicture to the end of the macro. You may want to change activesheet to sheets("Sheet1"). 'Open PowerPoint Set myAPP = CreateObject("Powerpoint.Application") myAPP.Visible = True myAPP.WindowState = ppWindowMinimized ThisWorkbook.Activate 'Create one new PowerPoint presentation and no more If myAPP.Presentations.Count = 0 Then Set ppPres = myAPP.Presentations.Add(msoTrue) ppPres.Slides.Add 1, ppLayoutBlank Else NextSlide = 1 + (myAPP.ActivePresentation.Slides.Count) myAPP.ActiveWindow.View.GotoSlide Index:=myAPP.ActivePresentation.Slides.Add(NextSli de, Layout:=ppLayoutBlank).SlideIndex End If 'Paste the left side of the image into a PowerPoint slide thisworkbook.activesheet.Range("Analysis_Left").Co pyPicture Appearance:=xlScreen, Format:=xlPicture myAPP.ActiveWindow.View.Paste -- joel ------------------------------------------------------------------------ joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=199831 http://www.thecodecage.com/forumz |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks, I tried both of those things, and neither one has any effect.
I should have been more specific. The code works the first time I run it, and also if I run it over and over, but if I click on the PowerPoint file and go back to Excel and run the code again, then it doesn't work and I get the error message that says the clipboard is empty. However, the clipboard can't be empty because I can then manually paste from it straight into the PowerPoint file. Somehow, by going into the PowerPoint file after the code runs I am disrupting something. "joel" wrote: Why not move the copypicture to the end of the macro. You may want to change activesheet to sheets("Sheet1"). 'Open PowerPoint Set myAPP = CreateObject("Powerpoint.Application") myAPP.Visible = True myAPP.WindowState = ppWindowMinimized ThisWorkbook.Activate 'Create one new PowerPoint presentation and no more If myAPP.Presentations.Count = 0 Then Set ppPres = myAPP.Presentations.Add(msoTrue) ppPres.Slides.Add 1, ppLayoutBlank Else NextSlide = 1 + (myAPP.ActivePresentation.Slides.Count) myAPP.ActiveWindow.View.GotoSlide Index:=myAPP.ActivePresentation.Slides.Add(NextSli de, Layout:=ppLayoutBlank).SlideIndex End If 'Paste the left side of the image into a PowerPoint slide thisworkbook.activesheet.Range("Analysis_Left").Co pyPicture Appearance:=xlScreen, Format:=xlPicture myAPP.ActiveWindow.View.Paste -- joel ------------------------------------------------------------------------ joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=199831 http://www.thecodecage.com/forumz . |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() I think I found the problem. Your slide count is wrong. When you create a new presentation it automatically creates a presentation with one slide. So when you add a slide you have two slides. The number of slides is always one created than your slide count When you already have a presentation your slide count equals the number of slides. I remove the add slide from the case where you don't have a presentation. then I removed the add 1 from the Next slide count. 'Open PowerPoint Set myAPP = CreateObject("Powerpoint.Application") myAPP.Visible = True myAPP.WindowState = ppWindowMinimized ThisWorkbook.Activate 'Create one new PowerPoint presentation and no more If myAPP.Presentations.Count = 0 Then Set ppPres = myAPP.Presentations.Add(msoTrue) Else NextSlide = myAPP.ActivePresentation.Slides.Count myAPP.ActiveWindow.View.GotoSlide Index:=myAPP.ActivePresentation.Slides.Add(NextSli de, Layout:=ppLayoutBlank).SlideIndex End If 'Paste the left side of the image into a PowerPoint slide thisworkbook.activesheet.Range("Analysis_Left").Co pyPicture Appearance:=xlScreen, Format:=xlPicture myAPP.ActiveWindow.View.Paste -- joel ------------------------------------------------------------------------ joel's Profile: http://www.thecodecage.com/forumz/member.php?u=229 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=199831 http://www.thecodecage.com/forumz |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel hangs when copying sheet with charts to Powerpoint | Excel Discussion (Misc queries) | |||
Excel 2007 - copying charts to Word problem | Charts and Charting in Excel | |||
Copy/Paste Charts; Define Destination of Charts in PowerPoint | Excel Programming | |||
Problems copying charts into PowerPoint | Charts and Charting in Excel | |||
vba for PowerPoint Charts | Excel Programming |