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

Close named powerpoint presentation in vba

I have two powerpoint presenatations open.

I want to close only one of them.

I used application.quit but it closed all as it closes powerpoint.

I therefore used Application.ActivePresentation.Close which works but leaves the window open so i can't see my other ppt presenatation below.

All help most welcome.
0
SweetingA
Asked:
SweetingA
  • 6
  • 4
  • 2
1 Solution
 
JSRWilsonCommented:
Not completely clear what you need but supposing you want to close the presentation named "control.pptx" and minimize PPt

Presentations("control.pptx").Close
Application.WindowState = ppWindowMinimized
0
 
Rgonzo1971Commented:
Hi,

pls try

'Application.Presentations("c:\Documents\Presentation4.pptx").Close or
Application.ActivePresentation.Close
Application.ActiveWindow.Activate

Open in new window

Regards
0
 
JSRWilsonCommented:
I misread!

You really need to say what version of Office as versions before 2010 act differently

In all cases though the other presentaion should show I think unless you are running the code from the vb editor.
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
SweetingAAuthor Commented:
I am using ppt2010
0
 
SweetingAAuthor Commented:
JSRWilson, your solution did not work as window is not minimised
0
 
SweetingAAuthor Commented:
Rgonzo1971, same as JRWilson, closes presentation show but does not close or minimise active window
0
 
SweetingAAuthor Commented:
What i am doing is running several ppsm presentations from a common dashboard and i intended to leave the dashboard open and just bring the ppsm's to the front and close them on exit.

It works fine except the ppsm window stays on the screen with the dashboard hidden behind it.
0
 
JSRWilsonCommented:
You need to explain exactly what you are doing. Starting with how you made the Dashboared and what it does. Are the ppsm opening in show mode and how are you opening and closing them.
0
 
SweetingAAuthor Commented:
The dashboard is just a page of buttons, i run it from a batch file at startup, its a ppsm file

Under each button is a simple code see attached to run various presnetations

Me.CommandButton7.Caption = "Introducing" & vbNewLine & "GMP"
Me.CommandButton7.Font.Size = 10

Dim pptPres As PowerPoint.Presentation
Dim pptApp As PowerPoint.Application
Dim pptSlide As PowerPoint.Slide
Dim file As String

file = "f:\Users\Training\GMPRefresher.ppsm"

Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True
Set pptPres = pptApp.Presentations.Open(FileName:=file)

At the end of any presenatation, i instruct the user to press a button which should close the current presnetation and window so that the dashboard returns to the screen.

At the moment the presenation closes, but an instance of powerpoint remains open so i can see the development window in front of the dashboard.

If i use application.quit it closes all instances of ppt so i loose the dahsboard completely.
0
 
Rgonzo1971Commented:
Hi,

Have you tried

Set pptApp = Nothing

Open in new window


Regards
0
 
JSRWilsonCommented:
Try this to open

Dim pptPres As Presentation
Dim file As String
file = "C:\Users\John\Desktop\test.ppsm"
Set pptPres = Presentations.Open(FileName:=file, withwindow:=False)
pptPres.SlideShowSettings.Run

Open in new window


And this to close

SlideShowWindows(1).View.Exit

Open in new window

0
 
SweetingAAuthor Commented:
JSR Wilson - You are a genius. thank you very much
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

  • 6
  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now