Skip to main content
Participant
January 16, 2026
Answered

How can I check if a reference frame is used?

  • January 16, 2026
  • 1 reply
  • 69 views

Hello!

 

I am using unstructured FrameMaker 2019 (version 15.0.5.838). 

 

My frameMaker documents contain several reference pages with many reference frames, collected over the several years. I want to clean up the reference pages and remove unused reference frames. But how can I find out if a particular reference frame is used in a paragraph style?

Is there a paragraph format search (comparable to the search for character formats) where I can search for "frame above" or "frame below"?

 

Bye... 🙂

 

 

    Correct answer frameexpert

    Nothing built into FrameMaker, but here a simple script that you can use. Copy the script and put it in a plain text file with a .jsx extension. Open a FrameMaker document, and choose File > Script > Run and select the script. It will write the paragraph and paragraph format Frame Above and Frame Below data to the Console. You can copy the Console text and import it into a spreadsheet, using the pipe symbol as a delimiter, and then make a report.

     

    Alernatively, you can add the script to the Script Catalog (File > Script > Library) and run it from there.

     

    main ();
    
    function main () {
    
        var doc;
        
        doc = app.ActiveDoc;
        if (doc.ObjectValid () === 1) {
            processDoc (doc);
        }
    }
    
    function processDoc (doc) {
    
        var pgf, pgfFmt;
        
        Console ("----------");
        Console ("Document paragraphs:")
        pgf = doc.FirstPgfInDoc;
        while (pgf.ObjectValid () === 1) {
            if (pgf.TopSeparator !== "") {
                Console (pgf.Name + "|Frame Above|" + pgf.TopSeparator);
            }
            if (pgf.BottomSeparator !== "") {
                Console (pgf.Name + "|Frame Below|" + pgf.BottomSeparator);
            }
            pgf = pgf.NextPgfInDoc;
        }
    
        Console ("----------");
        Console ("Document paragraph formats:")
        pgfFmt = doc.FirstPgfFmtInDoc;
        while (pgfFmt.ObjectValid () === 1) {
            if (pgfFmt.TopSeparator !== "") {
                Console (pgfFmt.Name + "|Frame Above|" + pgfFmt.TopSeparator);
            }
            if (pgfFmt.BottomSeparator !== "") {
                Console (pgfFmt.Name + "|Frame Below|" + pgfFmt.BottomSeparator);
            }
            pgfFmt = pgfFmt.NextPgfFmtInDoc;
        }
    }

    1 reply

    frameexpert
    Community Expert
    frameexpertCommunity ExpertCorrect answer
    Community Expert
    January 16, 2026

    Nothing built into FrameMaker, but here a simple script that you can use. Copy the script and put it in a plain text file with a .jsx extension. Open a FrameMaker document, and choose File > Script > Run and select the script. It will write the paragraph and paragraph format Frame Above and Frame Below data to the Console. You can copy the Console text and import it into a spreadsheet, using the pipe symbol as a delimiter, and then make a report.

     

    Alernatively, you can add the script to the Script Catalog (File > Script > Library) and run it from there.

     

    main ();
    
    function main () {
    
        var doc;
        
        doc = app.ActiveDoc;
        if (doc.ObjectValid () === 1) {
            processDoc (doc);
        }
    }
    
    function processDoc (doc) {
    
        var pgf, pgfFmt;
        
        Console ("----------");
        Console ("Document paragraphs:")
        pgf = doc.FirstPgfInDoc;
        while (pgf.ObjectValid () === 1) {
            if (pgf.TopSeparator !== "") {
                Console (pgf.Name + "|Frame Above|" + pgf.TopSeparator);
            }
            if (pgf.BottomSeparator !== "") {
                Console (pgf.Name + "|Frame Below|" + pgf.BottomSeparator);
            }
            pgf = pgf.NextPgfInDoc;
        }
    
        Console ("----------");
        Console ("Document paragraph formats:")
        pgfFmt = doc.FirstPgfFmtInDoc;
        while (pgfFmt.ObjectValid () === 1) {
            if (pgfFmt.TopSeparator !== "") {
                Console (pgfFmt.Name + "|Frame Above|" + pgfFmt.TopSeparator);
            }
            if (pgfFmt.BottomSeparator !== "") {
                Console (pgfFmt.Name + "|Frame Below|" + pgfFmt.BottomSeparator);
            }
            pgfFmt = pgfFmt.NextPgfFmtInDoc;
        }
    }
    www.frameexpert.com
    tech_wrAuthor
    Participant
    January 16, 2026

    Cool, that's exactly what I needed. Thanks a lot! 🙂