The official statement is that dialogs are not supported
in PowerPoint object model. However this snippet shows that the dialog
exists however the object is hidden. Paste the example into a module and
run the OpenDialog routine, this will open the 'Open' dialog of
PowerPoint and if when you select a file the dialog reference is passed
to the handler 'ProcessSelection'. ProcessSelection merely determines
the file that was selected and opens it.
Note: This code is unsupported by Microsoft. This
snippet will not function in XP. It is meant specifically for PowerPoint
97/2000 only.
'
--------------------------------------------------------------------------------
' Copyright ©1999-2007, Shyam Pillai, All Rights Reserved.
'
--------------------------------------------------------------------------------
' You are free to use this code within your own applications, add-ins,
' documents etc but you are expressly forbidden from selling or
' otherwise distributing this source code without prior consent.
' This includes both posting free demo projects made from this
' code as well as reproducing the code in text or html format.
'
--------------------------------------------------------------------------------
Sub OpenDialog()
With Application.FileDialog(ppFileDialogOpen)
' Set file filter flags
Call .Extensions.Add("*.PPT", "PowerPoint Presentation")
Call .Extensions.Add("*.PPS", "PowerPoint Show")
.ActionButtonName = "Open"
.DefaultDirectoryRegKey = "Default"
.DialogTitle = "Open"
.DirectoriesOnly = False
.InitialView = ppFileDialogViewPreview
.IsMultiSelect = False
.IsPrintEnabled = False
.IsReadOnlyEnabled = True
.OnAction = "ProcessSelection"
.UseODMADlgs = False
.Launch
End With
End Sub
Sub ProcessSelection(ByVal oDlg As FileDialog)
If oDlg.Files.Count = 0 Then Exit Sub
Presentations.Open oDlg.Files(1)
End Sub
|