Open Powerpoint Presentation via Excel VBA code

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have an excel macro in which I would like to open a powerpoint presentation
based upon a selection made in a drop-down box. The code I have so far is
below, I just don't know how to tell excel how to open the presentation.
Thanks.

Private Sub Business_Plan_Change()
Workbooks.Open Filename:="F:\Reports\" & Business_Plan.Value & ".ppt"
End Sub
 
It looks as though the code you have below is trying to open a PPT file in
Excel. From what you've written, I don't think that's what you actually
want to do.

To open a PPT presentation by running code in Excel, you need to do four
things - add a reference to the powerpoint object model, boot powerpoint,
make powerpoint visible, and then open the file you want.

To add the reference:
Open VBE (Alt F11)
Tools / References
Scan down for "Microsoft Powerpoint <version> Object Library"
Check the box
Click OK

Once you've added the reference, the following code should do what you want:

Private Sub Business_Plan_Change()
Dim PPT As PowerPoint.Application
Set PPT = New PowerPoint.Application
PPT.Visible = True
PPT.Presentations.Open Filename:="F:\Reports\" & Business_Plan.Value &
".ppt"
End Sub

Hope that helps.

- Andy Tischaefer
Test Lead, Microsoft Office

This posting is provided as is, and confers no rights.
 
When I follow the prescribed instructions, I get a run-time error
'-2147467259 (80004005)'; PowerPoint could not open the file
 
That error indicates that the path you're providing to your powerpoint file
is not valid. To debug, you might try:

dim filepath as string
filepath = "F:\Reports\" & Business_Plan.Value & ".ppt"

and then verify that filepath is what you expect to be, and that it is
pointing to a valid file.

Hope that helps.

- Andy Tischaefer
Test Lead, Microsoft Office

This posting is provided as is, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top