ExtendScript of the Week: Close All Files in a Book without Saving

 

Continuing with the series ‘Extendscript of the week’, we are providing an extendscript to Close All Files in a Book without Saving. This will show how to use FrameMaker ESTK to traverse a hierarchical book and perform operations on its components.

Download the zip file from CloseAllFilesInBookScript and unzip the content to local disk.

About the Script

  • It contains 3 scripts, CloseAllFilesInBook.jsx which is the caller function to handle the complete workflow, BookIterator.jsx which is used to iterate over the book components and BookCloseAllUtils.jsx that has utility functions used in the automation
  • The script works on all file types (FM/MIF/XML/Ditamap), nested books and its components as well as on the hierarchical components (Folders templates). Parameters have been defined in the main function according to which the components types will be acted upon (to process or leave unprocessed) making it a configurable setting.
  • The script traverses through all the open files in the book and closes it without prompting the user for Save dialog.  By default no file is saved.

Steps to use the Script?

  • Launch FrameMaker
  • Open any book (or use the file Sample.book from the samples provided here: CloseAllFilesInBookSampleFiles)
  • With focus on book, run the script CloseAllFilesInBook.jsx. This will create a new menu item in Book Menu
  • Goto File->Utilities->Close All Files in Book Without Saving
  • All open book files will now be closed without any prompt

This script will help reduce the painful task on clicking on the dialog each time on closing multiple files. It can be easily modified to Save all the files by default.

 

Regards,
Anchal Arora

FrameMaker Engineering Team

(Resources: CloseAllFilesInBookScriptCloseAllFilesInBookSampleFiles)


Sharing is caring:

3 thoughts on “ExtendScript of the Week: Close All Files in a Book without Saving

  1. That worked well. However, when I close FrameMaker the option ‘Close All Files in Book Without Saving’ in File > Utilities disappears the next time I open the book file. Is there a way to apply it permanently to the book, or must I run the script each time I open the book?

  2. Hi Anchal Arora,

    I know it’s been a while since you wrote this post but I would find this script useful. I tried it out but it did not work, possibly because I am using FM 12 and not the version you used in 2011. When I run the script, I get the message “app.GetNamedMenu is not a function” – same message for a couple lines of text in the script.

    If you get this message, I would like to ask if you could create the script again or help me to get this working.

    Thanks

    1. Hi James,

      Thanks for the input.
      Before executing the step “With focus on book, run the script CloseAllFilesInBook.jsx. This will create a new menu item in Book Menu”, please select “Adobe FrameMaker 12 (12.0)” from the dropdown (default value is “ExtendScript Toolkit CS5”) in the ExtendScript interface.

      This should resolve the issue.

      Thanks,
      Bharat Prakash
      bharatp@adobe.com

Leave a Reply

Your email address will not be published. Required fields are marked *