ID: Q162555
The information in this article applies to:
This article describes how to use the Microsoft Visual Basic for Applications Presentations.Open method. The Open method opens an existing Microsoft PowerPoint presentation.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft Support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/refguide/default.asp
There are four parameters that you can use to control the behavior of the Open method:
Name Data Type Required
---- --------- --------
FileName String Yes
ReadOnly Long Optional
Untitled Long Optional
WithWindow Long Optional
FileName:
The FileName parameter is the path and name of the presentation you wish to open. The following Visual Basic example opens a file named test.ppt located in the C:\ root directory.
Sub OpenPresentation()
Presentations.Open "c:\test.ppt"
End Sub
ReadOnly:
The ReadOnly parameter is used to open a presentation as Read-Only. The following example opens a file named test.ppt as Read-Only.
Sub OpenPresentationReadOnly()
Presentations.Open "c:\test.ppt", msoTrue
End Sub
The parameter, msoTrue, tells PowerPoint to open the presentation
ReadOnly. When test.ppt is open, the following text appears in the title
bar:
[test.ppt[Read-Only]]
If you do not specify the msoTrue parameter, it is set to msoFalse (the
default), and the presentation opens as read/write.
Untitled:
The Untitled parameter is used to create a copy of the presentation. The following example opens a copy of test.ppt.
Sub OpenCopy()
Presentations.Open "c:\test.ppt", Untitled:=msoTrue
End Sub
If you do not specify the msoTrue parameter, it is set to msoFalse (the
default), and the file name only appears in the title bar:
[test.ppt]
WithWindow:
The WithWindow parameter open a presentation without making it visible. The following example opens test.ppt, does not show it, and then closes it.
Sub OpenInvisible()
Dim MyPres As Presentation
Set MyPres = Presentations.Open("c:\test.ppt", _
WithWindow:=msoFalse)
' Close the presentation.
MyPres.Close
End Sub
NOTE: When you are finished with the invisible presentation, make sure
you close the presentation.
If you do not specify the msoFalse parameter, it is set to msoTrue (the default).
This code example:
Presentations.Open "c:\test.ppt", WithWindow:=msoTrue
is equivalent to this code example:
Presentations.Open "c:\test.ppt"
The Open method returns a reference to a presentation object. Once you have the object reference, you can use it to access methods and properties of the presentation.
Sub GetReturnValue()
Dim MyPres As Presentation
Set MyPres = Presentations.Open("c:\test.ppt")
' This counts the number of slides in test.ppt.
MsgBox MyPres.Slides.Count
End Sub
NOTE: To use the return value of a method, set the method to a variable and
enclose the parameters in parentheses.
The following sample code demonstrates how you can trap errors that may occur when using the Open method:
Sub ErrorTrapOpen()
On Error Resume Next
' Clear all values in the Err object.
Err.Clear
Dim MyPres As Presentation
Set MyPres = Presentations.Open("c:\file does not exist.ppt")
' If error occurred when opening the file, display the error message.
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical, "Error " & Err.Number
End If
End Sub
The On Error Resume Next statement allows the macro to continue to execute
beginning with the statement that immediately follows the statement that
generated the error. If you do not use the On Error Resume Next statement,
you will receive a run-time error if the file cannot be opened and the
macro halts. When a run-time error occurs, information about that error is
stored in the Err object.
For more information about the Err object, search the Help Index for "Err," or ask the Microsoft PowerPoint 97 Office Assistant.
For additional information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q163435
TITLE : VBA: Programming Resources for Visual Basic for
Applications
Additional query words: 97 8.00 kbmacro kbpptvba ppt8 vba vbe 8.0 kbhowto
Keywords : kbcode kbmacro kbprg kbdta kbdtacode kbpptvba
Version : WINDOWS:97
Platform : WINDOWS
Hardware : x86
Issue type : kbhowto
Last Reviewed: May 17, 1999