• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 427
  • Last Modified:

Open power point presentation from ACCESS 2003 VBA

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
ssmith94015
Asked:
ssmith94015
  • 6
  • 3
  • 3
  • +1
1 Solution
 
Dale FyeCommented:
I generally use the Application.Followhyperlink method.  All you need to add to that is the path and file name.
0
 
Jeffrey CoachmanCommented:
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
 
ssmith94015Author Commented:
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
MAdSCommented:
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
 
MAdSCommented:
P.S.: have you presentation saved as PPSX, not PPTX
0
 
ssmith94015Author Commented:
Ok, it keeps crashing my system.
0
 
ssmith94015Author Commented:
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
 
Dale FyeCommented:
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
 
ssmith94015Author Commented:
System crashes when I try to run the code.  I will try your version fyed and see what happens.
0
 
ssmith94015Author Commented:
Thank you, this worked.  The other seemed logical as far as I could tell, but my system just did not like it.

Sandra
0
 
Dale FyeCommented:

Did you even try:

Application.FollowHyperlink "K:\DatabaseDevelopment\ProjectTaskTracking\ProjectTaskTraining.ppsx"
0
 
ssmith94015Author Commented:
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
 
MAdSCommented:
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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 6
  • 3
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now