Skip to main content
rombanks
Inspiring
June 27, 2019
Answered

Save All Open Files Constant - Exists?

  • June 27, 2019
  • 1 reply
  • 779 views

Hello fellows,

In the Scripting Guide, I don't see such a constant. Is there such a thing?

It is the same as <Shift> + Click File --> Save All Open Files

I need it for an event script. Is there any other way to catch such an event?

BTW, what does Constants.FV_SaveFmtBookWithFm do?

Thanks!

Roman

This topic has been closed for replies.
Correct answer frameexpert

Hi Roman,

You can use a general script to capture the "number" of a function that doesn't have a specific Notification. Then you can use this number in an event script to capture that event and do what you need to.

#target framemaker

setupNotifications ();

function setupNotifications () {

   

    Notification (Constants.FA_Note_PreFunction, true);

    Notification (Constants.FA_Note_PostFunction, true);

}

function Notify (note, object, sparam, iparam) {

   

    var element, regex;

   

    // Handle the before/after function events.

    switch (note) {

       

        case Constants.FA_Note_PreFunction :

       

            alert ("PreFunction: " + iparam);

            break;

   

        case Constants.FA_Note_PostFunction :

       

            alert ("PostFunction: " + iparam);

            break;

    }

}

It looks like Save All Open Files is 796. So now you can do something like this:

#target framemaker

setupNotifications ();

function setupNotifications () {

   

    Notification (Constants.FA_Note_PreFunction , true);

}

function Notify (note, object, sparam, iparam) {

   

    // Handle the pre-function event.

    switch (note) {

       

        case Constants.FA_Note_PreFunction :

       

            if (iparam === 796) {

                 // Do something before the Save All Open Files function.

            }

       

        break;

       

    }

}

1 reply

frameexpert
frameexpertCorrect answer
Adobe Expert
June 27, 2019

Hi Roman,

You can use a general script to capture the "number" of a function that doesn't have a specific Notification. Then you can use this number in an event script to capture that event and do what you need to.

#target framemaker

setupNotifications ();

function setupNotifications () {

   

    Notification (Constants.FA_Note_PreFunction, true);

    Notification (Constants.FA_Note_PostFunction, true);

}

function Notify (note, object, sparam, iparam) {

   

    var element, regex;

   

    // Handle the before/after function events.

    switch (note) {

       

        case Constants.FA_Note_PreFunction :

       

            alert ("PreFunction: " + iparam);

            break;

   

        case Constants.FA_Note_PostFunction :

       

            alert ("PostFunction: " + iparam);

            break;

    }

}

It looks like Save All Open Files is 796. So now you can do something like this:

#target framemaker

setupNotifications ();

function setupNotifications () {

   

    Notification (Constants.FA_Note_PreFunction , true);

}

function Notify (note, object, sparam, iparam) {

   

    // Handle the pre-function event.

    switch (note) {

       

        case Constants.FA_Note_PreFunction :

       

            if (iparam === 796) {

                 // Do something before the Save All Open Files function.

            }

       

        break;

       

    }

}

rombanks
rombanksAuthor
Inspiring
June 30, 2019

Hi Rick,

Thank you for your valuable input!

I've just recalled that you had shown me this method once.

Best Wishes,

Roman

frameexpert
Adobe Expert
July 1, 2019

Hi Roman, Mark my answer as Correct, if you were able to use it. Thanks -Rick