Quantcast
Channel: Adobe Community : All Content - FrameMaker Scripting
Viewing all articles
Browse latest Browse all 888

Open all source documents of current active doc

$
0
0

Hey all,

 

I'm trying to write my first script using ExtendScript. What I'd like is for the script to open the source documents for all the insets in the current active document.

I think I'm quite close, but I'm having trouble finding the correct method to call to get the filepath for the current inset. So far I have:

 

function main ()

{

    var doc = app.ActiveDoc;

 

    if (!doc.ObjectValid())

    {

        alert("No active document in focus");

        return;

    }

 

    var inset = doc.FirstTiInDoc;

   

    while (inset.ObjectValid())

    {

        // open source document

        var sourceFilepath = inset.InsetFile;           <<--- this doesn't work

        openFile(sourceFilepath);

       

        // move to next inset

        inset = inset.NextTiInDoc;

    }

    return ("Script Complete");

}

 

function openFile (filename)

{

    var openParams = GetOpenDefaultParams();

 

    var i = GetPropIndex(openParams,Constants.FS_FileIsOldVersion);

    openParams[i].propVal.ival=Constants.FV_DoOK;

 

    i = GetPropIndex(openParams,Constants.FS_FontNotFoundInDoc);

    openParams[i].propVal.ival = Constants.FV_DoOK;

 

    i = GetPropIndex(openParams,Constants.FS_FileIsInUse);

    openParams[i].propVal.ival = Constants.FV_OpenViewOnly;

 

    i = GetPropIndex(openParams,Constants.FS_AlertUserAboutFailure);

    openParams[i].propVal.ival = Constants.FV_DoCancel;

 

    i = GetPropIndex(openParams,Constants.FS_LockCantBeReset);

    openParams[i].propVal.ival = Constants.FV_DoOK;

 

    var returnParams = new PropVals();

    var fileObj = Open(filename, openParams, returnParams);

   

    return fileObj;

}

 

I've tried inset.InsetFile and inset.filePath, but neither work. Can anyone tell me the correct syntax? Thanks!


Viewing all articles
Browse latest Browse all 888

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>