How could I add Existing Variables into a Paragraph using ExtendScripts?

New Here ,
Mar 14, 2017

Copy link to clipboard

Copied

Hi,

Based on a specific paragraph tag, I would like to add an existing variable (Name and Fmt) as part of the paragraph's text. I am able to add strings as part of paragraph texts at the moment.

I was looking up extend scripts to do this, however I am quite not sure how to add a variable. I could only find instances of updating variable values and so on.

Any help would be appreciated.

Giving a brief overview of my intention: (For example; Variable = "Part Number: 0x404"

                            var newpgf = doc.NewSeriesObject(Constants.FO_Pgf, pgf);

                            var attribute= doc.GetNamedObject(Constants.FO_VarFmt, "Variable");

           

                            var textLoc = new TextLoc();

                            textLoc.obj = newpgf;

                            textLoc.offset = -1;

                         

                                                               doc.AddText(textLoc, "( ");

                                                                         

Something like this:                            -> doc.AddText(textLoc, attribute.Fmt);       // Not Sure how to do this, possibly link the variable text range to this Text Location?

                                                               doc.AddText(textLoc, " )");               

Expected Paragraph:

                                             <Previous Para>

          new Para:                    (Part Number: 0x404 )

Thanks,
Sebin

TOPICS
Scripting

Views

226

Likes

Translate

Translate

Report

Report
Reply
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

1 Correct Answer

Adobe Community Professional , Mar 15, 2017
frameexpert Adobe Community Professional , Mar 15, 2017
#target framemakervar doc = app.ActiveDoc;// Get the paragraph object where the cursor is.var pgf = doc.TextSelection.beg.obj;// Make a text loc object.var textLoc = new TextLoc (pgf, 0);// Add the open parens.textLoc = doc.AddText (textLoc, "(");// Add the variable.doc.NewAnchoredFormattedVar ("Variable", textLoc);// Add the trailing parens.textLoc = new TextLoc (pgf, Constants.FV_OBJ_END_OFFSET - 1);textLoc = doc.AddText (textLoc, ")");Make sure you test that your variable format exists (in my...

Likes

Translate

Translate
Jump to answer Jump to answer
Adobe Community Professional ,
Mar 15, 2017

Copy link to clipboard

Copied

#target framemaker

var doc = app.ActiveDoc;

// Get the paragraph object where the cursor is.

var pgf = doc.TextSelection.beg.obj;

// Make a text loc object.

var textLoc = new TextLoc (pgf, 0);

// Add the open parens.

textLoc = doc.AddText (textLoc, "(");

// Add the variable.

doc.NewAnchoredFormattedVar ("Variable", textLoc);

// Add the trailing parens.

textLoc = new TextLoc (pgf, Constants.FV_OBJ_END_OFFSET - 1);

textLoc = doc.AddText (textLoc, ")");

Make sure you test that your variable format exists (in my example, the variable format name is "Variable"). Please let me know if you have any questions or comments. -Rick

Likes

Translate

Translate

Report

Report
Reply
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
sebinkur AUTHOR LATEST
New Here ,
Mar 15, 2017

Copy link to clipboard

Copied

Thank you, Rick. It worked!

Likes

Translate

Translate

Report

Report
Reply
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more