Messagebox Stays In Background After PowerPoint Quit

Lewzerrrr

Active Member
Joined
Jan 18, 2017
Messages
256
In this following bit of code, when I run a powerpoint.quit and try to run a messagebox after, the powerpoint doesn't quit and stays on front with the messagebox and Excel behind?

I'm assuming it doesn't actually quit until the sub ends, how can I resolve this so powerpoint fully quits and switches back to Excel and the messagebox?

CODE NEEDED**
Code:
    With ps        .Saved = True
        .Close
    End With
    ppt.Quit
    Set ppt = Nothing
    
        With Application
            .ScreenUpdating = True
            .DisplayAlerts = True
            .EnableEvents = True
        End With
        
    Call ClearImages
    
    ans = MsgBox("Do you want to re-run the Visual Stock Pack?", vbYesNo + vbQuestion)
    
    Select Case ans
        Case vbYes
            Call Box
        Case vbNo
    End Select


End Sub

FULL CODE**
Code:
Sub SaveImages()

    'the location to save all the images ------ this may differ to each user, please change to your drive e.g "S:\TS Shared\Distribution\Backup Product Images\"
    Const destFolder$ = "V:\Distribution\Backup Product Images\"


    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Pictures Not Found DIR")


    Dim ppt As Object, ps As Variant, slide As Variant


    Set ppt = CreateObject("PowerPoint.application")
    Set ps = ppt.presentations.Add
    Set slide = ps.slides.Add(1, 1)
    
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False
    End With


    Dim shp As Shape, shpName$
    For Each shp In ws.Shapes
    
        shpName = destFolder & shp.TopLeftCell.Offset(0, -1) & ".png"
        
        If shp.TopLeftCell.Column <> 2 Then
        
        Else
        
            If FileExists(shpName) = True Then
            
                
            Else
            
            shp.Copy
            
                With slide
                    .Shapes.Paste
                    .Shapes(.Shapes.Count).Export shpName, 2
                    .Shapes(.Shapes.Count).Delete
                End With
            
            
            End If
        End If
    Next shp


    With ps
        .Saved = True
        .Close
    End With
    ppt.Quit
    Set ppt = Nothing
    
        With Application
            .ScreenUpdating = True
            .DisplayAlerts = True
            .EnableEvents = True
        End With
        
    Call ClearImages
    
    ans = MsgBox("Do you want to re-run the Visual Stock Pack?", vbYesNo + vbQuestion)
    
    Select Case ans
        Case vbYes
            Call Box
        Case vbNo
    End Select


End Sub
 
Last edited:

Excel Facts

Remove leading & trailing spaces
Save as CSV to remove all leading and trailing spaces. It is faster than using TRIM().

Forum statistics

Threads
1,224,823
Messages
6,181,184
Members
453,020
Latest member
Mohamed Magdi Tawfiq Emam

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top