How do I write a macro to close all open images without user prompt?
All --
I would like to create a mechanism to close all open images (modified or not) without prompting the user.
I have written the macro below based on information in prior posts but there seems there is a problem with the image that appears to be active not being the active image.
Can someone please help me resolve the issue with this macro?
Thanks.
-- Matt
--------------------------------------
I would like to create a mechanism to close all open images (modified or not) without prompting the user.
I have written the macro below based on information in prior posts but there seems there is a problem with the image that appears to be active not being the active image.
Can someone please help me resolve the issue with this macro?
Thanks.
-- Matt
--------------------------------------
Sub CloseAllOpenImages 'Determine the number of open documents Dim MyNumberOfDocuments MyNumberOfDocuments = ThisApplication.Documents.Values.Count 'Loop through the open documents Dim MyI As Integer For MyI = 1 To MyNumberOfDocuments 'Close the active image ThisApplication.ActiveImage.Modified = False ThisApplication.ActiveImage.Close Next End Sub---------------------------------------
0
Best Answers
-
Matt,Here is an even simpler macro.Pierre
Public Function Macro1() As SimpleScript Macro1 = New SimpleScript With Application.WindowCommands.CloseAll(Macro1) .Run() End With End Function
0 -
Matt,There are multiple ways, but here is another simple macro to do that.Pierre
Public Sub CloseAllNoPrompt() CloseAllForm.ClosingAllAction=CloseAllForm.CloseAllFormAction.actionNoAll ThisApplication.Windows.CloseAll() End Sub
0 -
Hi Matt,
This is my macro:
Public Function Close_All_Open_Images_Without_Prompt() As SimpleScript
Close_All_Open_Images_Without_Prompt = New SimpleScriptWith Application.ApplicationCommands.SetOption(Close_All_Open_Images_Without_Prompt)
.Section = "Images"
.Key = "PromptBeforeClosing"
.Value = False
.Run()
End WithWith Application.WindowCommands.CloseAll(Close_All_Open_Images_Without_Prompt)
.Run()
End WithWith Application.ApplicationCommands.SetOption(Close_All_Open_Images_Without_Prompt)
.Section = "Images"
.Key = "PromptBeforeClosing"
.Value = True
.Run()
End WithEnd Function
Also you can disable the prompt in the application options dialog.
0
Answers
Thank you for the prompt response.
The macro you provided works perfectly.
I produce the same macro using
RECORD MACRO
+
CLOSE ALL VIEWS
but since PREMIER prompted the user (me) about whether to close a modified image, I assumed the prompt would happen when the macro was run.
That led me to trying to close the open images
Thanks for the assistance.
-- Matt
Yesterday when I tested your SOFTWARE / SOLUTION, I "modified" the some of my open images by making a measurement on them. They showed an asterisk in the TITLE BLOCK but closed with out prompt using the
Today I changed the calibration of one of the open images and a USER PROMPT was presented by the the CLOSEALL.
For this application, the software needs to be able to close all images without prompting the user. Can the macro you provided be modified to do this or can you resolve the issue that kept my macro from doing this?
Thanks.
-- Matt
Thank you for your replies.
I have integrated the code the Pierre provided into the app but I expect that there are some nuggets of gold in the code that Nikita provided that will work their way into the app also.
I thought I'd get to answer YES to both of your answers but that does not look to be the case. :-(
Thanks again.
-- Matt