Solved

Open power point presentation from ACCESS 2003 VBA

Posted on 2011-09-06
13
418 Views
Last Modified: 2012-05-12
How does one open a power point presentation from Access 2003 via VBA?  I have a trainging presentation that I want user to be able to open from a button on an ACCESS 2003 form.  The power point is in version 2010.
0
Comment
Question by:ssmith94015
  • 6
  • 3
  • 3
  • +1
13 Comments
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 36490149
I generally use the Application.Followhyperlink method.  All you need to add to that is the path and file name.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 36490169
Yes, if all you need to do is "Open" the PP file then fyed has your answer here.

If you need anything special (Open parameters, run slide show automatically, ...etc) then you will need "Interoperability" code.

JeffCoachman
0
 

Author Comment

by:ssmith94015
ID: 36490171
Ok, this did open it, but it opened it in design view.  Maybe I did not make myself clear and sorry about that, but I want the user to hit the button and have the presentation start running.  
0
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

 
LVL 5

Expert Comment

by:MAdS
ID: 36490210
Try this:

Const SW_SHOW = 1
Const SW_SHOWMAXIMIZED = 3

Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
 (ByVal hwnd As Long, _
  ByVal lpOperation As String, _
  ByVal lpFile As String, _
  ByVal lpParameters As String, _
  ByVal lpDirectory As String, _
  ByVal nShowCmd As Long) As Long

Sub OpenFile()
 On Error Resume Next
 Call ShellExecute(0, "open", "[file-name]", , "[file-folder]", SW_SHOWMAXIMIZED)
End Sub 

Open in new window

0
 
LVL 5

Expert Comment

by:MAdS
ID: 36490228
P.S.: have you presentation saved as PPSX, not PPTX
0
 

Author Comment

by:ssmith94015
ID: 36490355
Ok, it keeps crashing my system.
0
 

Author Comment

by:ssmith94015
ID: 36490377
Now I get argument not optional
Sub OpenPowerPoint()
 On Error Resume Next
 Call ShellExecute(0, "open", "ProjectTaskTraining.ppsx", , "K:\DatabaseDevelopment\ProjectTaskTracking\", SW_SHOWMAXIMIZED)
End Sub
0
 
LVL 47

Accepted Solution

by:
Dale Fye (Access MVP) earned 500 total points
ID: 36490556
What keeps crashing your system?

If you save the file as a ppsx, as indicated by MAdS, then the followhyperlink method should work just fine.

If you don't like that method, create subroutine that will open PPT, then the file, then display the slideshow

Try this:

Public Sub ppt(FileName As String)

    Dim ppt As Object
    Dim pres As Object
    Dim ss As Object

    Set ppt = CreateObject("Powerpoint.Application")
    ppt.Visible = True
    Set pres = ppt.Presentations.Open(FileName)
    Set ss = pres.slideshowsettings.Run

    Set ss = Nothing
    Set pres = Nothing
    Set ppt = Nothing

End Sub
0
 

Author Comment

by:ssmith94015
ID: 36490591
System crashes when I try to run the code.  I will try your version fyed and see what happens.
0
 

Author Closing Comment

by:ssmith94015
ID: 36490618
Thank you, this worked.  The other seemed logical as far as I could tell, but my system just did not like it.

Sandra
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 36490654

Did you even try:

Application.FollowHyperlink "K:\DatabaseDevelopment\ProjectTaskTracking\ProjectTaskTraining.ppsx"
0
 

Author Comment

by:ssmith94015
ID: 36490885
Yes I did, it was the first thing, but again, for whatever reason, my system would not process.  I am happy with what I have now.
0
 
LVL 5

Expert Comment

by:MAdS
ID: 36492228
Just FYI, I skipped 4th parameter. It should be:

Sub OpenPowerPoint()
 On Error Resume Next
 Call ShellExecute(0, "open", "ProjectTaskTraining.ppsx", "", "K:\DatabaseDevelopment\ProjectTaskTracking\", SW_SHOWMAXIMIZED)
End Sub
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question