Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
At the present time I am using Excel 97, With the help of participants on
this newsgroup and using Excel XP, I managed to put together some code which copied an excel spreadsheet into powerpoint. The following code worked fine on Excel XP but I needed it to work on all versions of Excel so I have now used Late Binding instead of referencing it. Unfortunately now I have done this I am getting debug errors on: ppLayoutText ppPasteMetafilePicture Can anyone help with a solution, please? Here is some of the code ***************** Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Dim pptShape As Object Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) ' create a new presentation ' or open an existing presentation ' Set pptPres = pptApp.Presentations.Open("C:\Foldername\Filename. ppt") ' apply a slide template pptPres.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Contemporary Portrait.pot" For Each asheet In ActiveWorkbook.Sheets ' only officer sheets visible at this point If asheet.Visible = True Then sheetname = asheet.Name Worksheets(sheetname).Activate With ActiveSheet .Shapes("Slide").Copy ' copy a picture from Excel With pptPres.Slides Set pptSlide = .Add(.Count + 1, ppLayoutText) ' add a slide End With With pptSlide .Shapes(1).Delete ' remove title '.Shapes(2).Delete ' remove the text box .Shapes.PasteSpecial ppPasteMetafilePicture With .Shapes(.Shapes.Count) .Left = 0 .Top = 0 .Width = 720 .Height = 540 End With End With End With End If Next asheet etc..... |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
They are PowerPoint constants, and you cannot use constants from the OM in
late binding. Replace by 2 and 3 respectively. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Mark" wrote in message ... At the present time I am using Excel 97, With the help of participants on this newsgroup and using Excel XP, I managed to put together some code which copied an excel spreadsheet into powerpoint. The following code worked fine on Excel XP but I needed it to work on all versions of Excel so I have now used Late Binding instead of referencing it. Unfortunately now I have done this I am getting debug errors on: ppLayoutText ppPasteMetafilePicture Can anyone help with a solution, please? Here is some of the code ***************** Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Dim pptShape As Object Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) ' create a new presentation ' or open an existing presentation ' Set pptPres = pptApp.Presentations.Open("C:\Foldername\Filename. ppt") ' apply a slide template pptPres.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Contemporary Portrait.pot" For Each asheet In ActiveWorkbook.Sheets ' only officer sheets visible at this point If asheet.Visible = True Then sheetname = asheet.Name Worksheets(sheetname).Activate With ActiveSheet .Shapes("Slide").Copy ' copy a picture from Excel With pptPres.Slides Set pptSlide = .Add(.Count + 1, ppLayoutText) ' add a slide End With With pptSlide .Shapes(1).Delete ' remove title '.Shapes(2).Delete ' remove the text box .Shapes.PasteSpecial ppPasteMetafilePicture With .Shapes(.Shapes.Count) .Left = 0 .Top = 0 .Width = 720 .Height = 540 End With End With End With End If Next asheet etc..... |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mark,
ppLayoutText and ppPasteMetafilePicture are constants (symbolic names for numbers). You can't use constants unless you have a reference to the library which defines them. Since you don't have a reference to the PowerPoint library, you must use the actual numeric value rather than the constant name. Change ppLayoutText to 2 ppPasteMetafilePicture to 3 -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Mark" wrote in message ... At the present time I am using Excel 97, With the help of participants on this newsgroup and using Excel XP, I managed to put together some code which copied an excel spreadsheet into powerpoint. The following code worked fine on Excel XP but I needed it to work on all versions of Excel so I have now used Late Binding instead of referencing it. Unfortunately now I have done this I am getting debug errors on: ppLayoutText ppPasteMetafilePicture Can anyone help with a solution, please? Here is some of the code ***************** Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Dim pptShape As Object Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) ' create a new presentation ' or open an existing presentation ' Set pptPres = pptApp.Presentations.Open("C:\Foldername\Filename. ppt") ' apply a slide template pptPres.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Contemporary Portrait.pot" For Each asheet In ActiveWorkbook.Sheets ' only officer sheets visible at this point If asheet.Visible = True Then sheetname = asheet.Name Worksheets(sheetname).Activate With ActiveSheet .Shapes("Slide").Copy ' copy a picture from Excel With pptPres.Slides Set pptSlide = .Add(.Count + 1, ppLayoutText) ' add a slide End With With pptSlide .Shapes(1).Delete ' remove title '.Shapes(2).Delete ' remove the text box .Shapes.PasteSpecial ppPasteMetafilePicture With .Shapes(.Shapes.Count) .Left = 0 .Top = 0 .Width = 720 .Height = 540 End With End With End With End If Next asheet etc..... |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks
I have replaced pplayouttext to 2 but pppastemetapicture to 3 doesn't seem to work, any ideas? .Shapes.PasteSpecial 3 ' .Shapes.PasteSpecial ppPasteMetafilePicture -- Mark "Chip Pearson" wrote: Mark, ppLayoutText and ppPasteMetafilePicture are constants (symbolic names for numbers). You can't use constants unless you have a reference to the library which defines them. Since you don't have a reference to the PowerPoint library, you must use the actual numeric value rather than the constant name. Change ppLayoutText to 2 ppPasteMetafilePicture to 3 -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Mark" wrote in message ... At the present time I am using Excel 97, With the help of participants on this newsgroup and using Excel XP, I managed to put together some code which copied an excel spreadsheet into powerpoint. The following code worked fine on Excel XP but I needed it to work on all versions of Excel so I have now used Late Binding instead of referencing it. Unfortunately now I have done this I am getting debug errors on: ppLayoutText ppPasteMetafilePicture Can anyone help with a solution, please? Here is some of the code ***************** Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Dim pptShape As Object Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) ' create a new presentation ' or open an existing presentation ' Set pptPres = pptApp.Presentations.Open("C:\Foldername\Filename. ppt") ' apply a slide template pptPres.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Contemporary Portrait.pot" For Each asheet In ActiveWorkbook.Sheets ' only officer sheets visible at this point If asheet.Visible = True Then sheetname = asheet.Name Worksheets(sheetname).Activate With ActiveSheet .Shapes("Slide").Copy ' copy a picture from Excel With pptPres.Slides Set pptSlide = .Add(.Count + 1, ppLayoutText) ' add a slide End With With pptSlide .Shapes(1).Delete ' remove title '.Shapes(2).Delete ' remove the text box .Shapes.PasteSpecial ppPasteMetafilePicture With .Shapes(.Shapes.Count) .Left = 0 .Top = 0 .Width = 720 .Height = 540 End With End With End With End If Next asheet etc..... |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
What do you mean by "doesn't seem to work"? You might want to ask
your question in a PowerPoint group. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Mark" wrote in message ... Thanks I have replaced pplayouttext to 2 but pppastemetapicture to 3 doesn't seem to work, any ideas? .Shapes.PasteSpecial 3 ' .Shapes.PasteSpecial ppPasteMetafilePicture -- Mark "Chip Pearson" wrote: Mark, ppLayoutText and ppPasteMetafilePicture are constants (symbolic names for numbers). You can't use constants unless you have a reference to the library which defines them. Since you don't have a reference to the PowerPoint library, you must use the actual numeric value rather than the constant name. Change ppLayoutText to 2 ppPasteMetafilePicture to 3 -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Mark" wrote in message ... At the present time I am using Excel 97, With the help of participants on this newsgroup and using Excel XP, I managed to put together some code which copied an excel spreadsheet into powerpoint. The following code worked fine on Excel XP but I needed it to work on all versions of Excel so I have now used Late Binding instead of referencing it. Unfortunately now I have done this I am getting debug errors on: ppLayoutText ppPasteMetafilePicture Can anyone help with a solution, please? Here is some of the code ***************** Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Dim pptShape As Object Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) ' create a new presentation ' or open an existing presentation ' Set pptPres = pptApp.Presentations.Open("C:\Foldername\Filename. ppt") ' apply a slide template pptPres.ApplyTemplate "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Contemporary Portrait.pot" For Each asheet In ActiveWorkbook.Sheets ' only officer sheets visible at this point If asheet.Visible = True Then sheetname = asheet.Name Worksheets(sheetname).Activate With ActiveSheet .Shapes("Slide").Copy ' copy a picture from Excel With pptPres.Slides Set pptSlide = .Add(.Count + 1, ppLayoutText) ' add a slide End With With pptSlide .Shapes(1).Delete ' remove title '.Shapes(2).Delete ' remove the text box .Shapes.PasteSpecial ppPasteMetafilePicture With .Shapes(.Shapes.Count) .Left = 0 .Top = 0 .Width = 720 .Height = 540 End With End With End With End If Next asheet etc..... |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Late Binding examples of binding excel application | Excel Programming | |||
Late Binding help, Please | Excel Programming | |||
Late Binding | Excel Programming | |||
EARLY binding or LATE binding ? | Excel Programming | |||
DAO Late Binding? | Excel Programming |