Solved

Close named powerpoint presentation in vba

Posted on 2014-03-06
12
2,632 Views
Last Modified: 2014-03-06
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
Comment
Question by:SweetingA
  • 6
  • 4
  • 2
12 Comments
 
LVL 23

Expert Comment

by:JSRWilson
ID: 39908944
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
 
LVL 49

Expert Comment

by:Rgonzo1971
ID: 39908957
Hi,

pls try

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

Open in new window

Regards
0
 
LVL 23

Expert Comment

by:JSRWilson
ID: 39909010
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
 

Author Comment

by:SweetingA
ID: 39909119
I am using ppt2010
0
 

Author Comment

by:SweetingA
ID: 39909132
JSRWilson, your solution did not work as window is not minimised
0
 

Author Comment

by:SweetingA
ID: 39909148
Rgonzo1971, same as JRWilson, closes presentation show but does not close or minimise active window
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:SweetingA
ID: 39909151
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
 
LVL 23

Expert Comment

by:JSRWilson
ID: 39909197
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
 

Author Comment

by:SweetingA
ID: 39909264
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
 
LVL 49

Expert Comment

by:Rgonzo1971
ID: 39909279
Hi,

Have you tried

Set pptApp = Nothing

Open in new window


Regards
0
 
LVL 23

Accepted Solution

by:
JSRWilson earned 500 total points
ID: 39909534
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
 

Author Comment

by:SweetingA
ID: 39909606
JSR Wilson - You are a genius. thank you very much
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

As with any other System Center product, the installation for the Authoring Tool can be quite a pain sometimes. This article serves to help you avoid making these mistakes and hopefully save you a ton of time on troubleshooting :)  Step 1: Make sur…
Preface: When I started this series, I used the term CommandBars because that is the Office Object class that it discusses. Unfortunately, when Microsoft introduced Office 2007, they replaced the standard Commandbar menus with "The Ribbon" and rem…
Viewers will learn the different options available in the Backstage view in Excel 2013.
This video teaches viewers how to fit pictures into slides, crop and remove backgrounds, and alter photos to look more professional.

932 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now