Skip to main content
Inspiring
Jul 21, 2020 7:46 PM UTC
Answered

view current cell; if cell overflows

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 is closed to new replies. Start a new post to keep the conversation going.
    Klaus Göbel
    Klaus GöbelCorrect answer
    Legend
    Jul 22, 2020 10:41 AM UTC
      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);
    
                }

    2 replies

    Klaus Göbel
    Klaus GöbelCorrect answer
    Legend
    Jul 22, 2020 10:41 AM UTC
      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);
    
                }
    Translate
    Inspiring
    Jul 22, 2020 11:49 AM UTC

    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.

    Translate