Skip to main content
Inspiring
July 21, 2020
Answered

view current cell; if cell overflows

  • July 21, 2020
  • 1 reply
  • 587 views

var doc, tbl, row, cell;

 

doc = app.ActiveDoc;

tbl = doc.FirstTblInDoc;

while (tbl.ObjectValid ()) {

    row = tbl.FirstRowInTbl;

    while (row.ObjectValid ()) {

        cell = row.FirstCellInRow;

        while (cell.ObjectValid ()) {

            if (cell.Overflowed === 1) {

                alert ("Cell overflowed");

            }

            cell = cell.NextCellInRow;

        }

        row = row.NextRowInTbl;

    }

    tbl = tbl.NextTblInDoc;

}

 

 

 

am using the above code from this thread https://community.adobe.com/t5/framemaker/finding-cell-overflow-in-table-problem-with-script/m-p/11293026?page=1#M66796

 

can anyone help to take the script to the row/cell/page where the overflow takes place?

    This topic has been closed for replies.
    Correct answer Klaus Göbel
      if (cell.Overflowed === 1) 
                {
                var tLocBeg = new TextLoc(cell.FirstPgf,0);
                var tLocEnd = new TextLoc(cell.FirstPgf,Constants.FV_OBJ_END_OFFSET);
                var tRange = new TextRange(tLocBeg,tLocEnd);
                doc.ScrollToText(tRange);
    
                }

    1 reply

    Klaus Göbel
    Klaus GöbelCorrect answer
    Legend
    July 22, 2020
      if (cell.Overflowed === 1) 
                {
                var tLocBeg = new TextLoc(cell.FirstPgf,0);
                var tLocEnd = new TextLoc(cell.FirstPgf,Constants.FV_OBJ_END_OFFSET);
                var tRange = new TextRange(tLocBeg,tLocEnd);
                doc.ScrollToText(tRange);
    
                }
    Inspiring
    July 22, 2020

    Much appriceated. Thanks a ton.

    although it stops at the first instance of the overflow. But i guess that is ok, if i work on the cell one by one, the code still works.