Thread: Late Binding
View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Late Binding

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.....