3 Replies Latest reply on Jul 2, 2013 9:20 AM by K.Daube

    Table footnotes

    K.Daube Level 1

      Hello friends,

      Obiously table footnotes are not the same objects as footnotes (in text flows). They are not found with the script as described in my post message/5430068#5430068. They are also flows (I assume this from the § symbol at their end).


      How to access these table footnotes? I have found only properties for their format, for example TblFnNumStyle, TblFnCellPosition or TblFnSuffix).

      There is no such constant as FTI_tblfn….


      I welcome Your ideas.


        • 1. Re: Table footnotes
          frameexpert Level 4

          Hi Klaus, There is no special table footnote object in FrameMaker. There are two ways to get to table footnotes:


          1) Loop through all of the document's Fn objects.


          var doc = app.ActiveDoc;
          var fn = doc.FirstFnInDoc;
          while (fn.ObjectValid()) {
            // ... Do something here.
            fn = fn.NextFnInDoc;


          This is the simplest method, but the internal list may not be in document order.


          2) Process the paragraphs in document order, and for each paragraph, get a list of footnote anchor objects. I don't have time to code this in ExtendScript, but here is how it looks with FrameScript:


          Set oPgf = TextSelection.Begin.Object;
          Get TextList InObject(oPgf) FnAnchor NewVar(tTextList);
          Loop While(i <= tTextList.Count) LoopVar(i) Init(1) Incr(1)
            Set oFn = tTextList[i].TextData;
            // Do something with the footnote here.
          • 2. Re: Table footnotes
            K.Daube Level 1


            The first method would be my favour (it is elegant), but it continues after the last table-footnote with the first normal footnote - thus creating a 'loop'.

            I have not yet found a method to stop that loop. My first attempt fails:

            function ProcessFootnote (doc) {
            // find citations in footnotes
                 var fnText = "";
                 var fn = doc.FirstFnInDoc;
                 while (fn.ObjectValid()) {
                   fnText = (GetText(fn));
                      alert (fnText);                    // the text of the footnote
                      var citations = GetTempCitations (fnText);        fn = fn.NextFnInDoc;        if (fn == doc.FirstFnInDoc) {             return;                           // ------- Does not stop the loop, === doesn't it either        }      } } //--------------------------------------------------------------------------

            PS will be absent for some days from this project.


            • 3. Re: Table footnotes
              K.Daube Level 1

              This has been solved by Rick's answer to my post "Getting text from footnote".