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

Apply Style to Table Cell Text using Extendscript CC

$
0
0

Hello,

I have the following code. I'm attempting to parse a document and search for specific keywords based on regex. This part is working. I then get the text range for those keywords and highlight the text. This works. What doesn't work is when I try to do the same thing in text that is in a Table Cell.

 

#target framemaker

var doc = app.ActiveDoc;
var totalPgfs = 0;

var pgf = doc.MainFlowInDoc.FirstTextFrameInFlow.FirstPgf;

function do_table_work(pgf){
    var result = pgf.GetText(Constants.FTI_TblAnchor);    var all_text = '';    for (var i = 0; i < result.length; i += 1) {        var t_object = result[i].obj;        var t_cell = t_object.FirstRowInTbl.FirstCellInRow;        while(t_cell.ObjectValid()){            var cell_items = t_cell.GetText(Constants.FTI_String);            var tr = new TextRange();             tr.beg.obj = tr.end.obj = pgf;             tr.beg.offset = 0; //this is built dynamically             tr.end.offset = 7; //this is built dynamically            apply_char_format(text_range)            t_cell = t_cell.NextCellInTbl;        }    }
}

function apply_char_format(text_range, name) {
    var color = doc.GetNamedColor(name);    if (color.ObjectValid()) {        var set_val = new TypedVal();        set_val.valType = Constants.FT_Integer;        set_val.ival = true;        doc.SetTextVal(text_range, Constants.FP_UseBkColor, set_val);        set_val.valType = Constants.FT_Id;        set_val.obj = color;        doc.SetTextVal(text_range, Constants.FP_BkColor, set_val);    } else {        alert('Color does not exist');    }
}

while (pgf.ObjectValid()) {
    do_table_work(pgf);    pgf = pgf.NextPgfInFlow;
}

 

The problem is it's not highlighting the text in the table cell like I want it to. If I process the document, and use the following:

 

var result = pgf.GetText(Constants.FTI_String);

 

It will highlight the text (with additional code to loop through those results).

 

Any thoughts on what I'm missing?


Viewing all articles
Browse latest Browse all 888

Trending Articles



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