Skip to main content
Jacob_AA
Known Participant
Jan 16, 2019 12:01 PM UTC
Question

Adding a space in the end of the table cell with extendscript

Does anybody know how can I add a space in the end of the table cell with extendscript.

I have object of the cell and want to get the text/string and add a space in the end.

This topic is closed to new replies. Start a new post to keep the conversation going.

8 replies

Jacob_AA
Jacob_AAAuthor
Known Participant
Jan 18, 2019 6:23 AM UTC

Thanks. I'm still trying. I will write here when it works.

Translate
Jacob_AA
Jacob_AAAuthor
Known Participant
Jan 16, 2019 2:07 PM UTC

Thanks,

var oPgf = vCell.LastPgf;

doc.NewSeriesPgf(oPgf);

I tried this but it didn't help me.

Translate
frameexpert
Community Expert
Community Expert
Jan 16, 2019 3:51 PM UTC

var textLoc;

var oPgf = vCell.FirstPgf;

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

doc.AddText (textLoc, "\x09"); // Add a soft-return

Translate
www.frameexpert.com
Jacob_AA
Jacob_AAAuthor
Known Participant
Jan 16, 2019 1:16 PM UTC

Thanks for the answer.

it works. just i modified to this:

var textLoc;

var oPgf = vCell.FirstPgf;

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

doc.AddText (textLoc, '  ');

but seems I need new line ( ' \n'  but this doesn't work) instead of space. I want to add force line break in the cell.

Translate
4everJang
Legend
Jan 16, 2019 1:23 PM UTC

Then you need to create a new Pgf after the current last one. I know I have done this a long, long time ago and it was surprisingly simple. But I do not have the code for this. Maybe Rick can juimp in here :-)

The other option would be to find the Unicode character for a line break and use AddText with that. See if that works.

Translate
4everJang
Legend
Jan 16, 2019 1:55 PM UTC

oDoc.NewSeriesPgf( oPgf );

oDoc being your active document and oPgf the currently last Pgf in the Cell. This adds a new Pgf - which cauaes a new empty line in your cell.

Translate
frameexpert
Community Expert
Community Expert
Jan 16, 2019 12:32 PM UTC

Assuming cell as your cell object and doc as your document object:

var textLoc;

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

doc.AddText (textLoc, " ");

Translate
www.frameexpert.com
4everJang
Legend
Jan 16, 2019 12:30 PM UTC

The Cell object has a FirstPgf. If there may be more paragraphs in the cell, you need to cycle through the list of Pgf objects to get to the last one. Then set a TextLoc object to point to the end of that Pgf and use that TextLoc in the document's AddText method. Here is some untested code:

var oDoc = app.ActiveDoc;

var oPgf = oCell.FirstPgf;

while( oPgf.NextPgfInCell.ObjectValid( ) )

{

     oPgf = oPgf.NextPgfInCell;

}

var oTLoc = new TextLoc( oPgf, Constants.FV_OBJ_END_OFFSET );

oDoc.AddText( oTLoc, " "  );

Hope this works. Check the Scriping Guide if not - there might be typos in the property names.

Translate