Skip to main content
Jacob_AA
Known Participant
January 16, 2019
Question

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

  • January 16, 2019
  • 5 replies
  • 879 views

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 has been closed for replies.

5 replies

Jacob_AA
Jacob_AAAuthor
Known Participant
January 18, 2019

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

Jacob_AA
Jacob_AAAuthor
Known Participant
January 16, 2019

Thanks,

var oPgf = vCell.LastPgf;

doc.NewSeriesPgf(oPgf);

I tried this but it didn't help me.

frameexpert
Community Expert
Community Expert
January 16, 2019

var textLoc;

var oPgf = vCell.FirstPgf;

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

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

www.frameexpert.com
Jacob_AA
Jacob_AAAuthor
Known Participant
January 16, 2019

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.

4everJang
Legend
January 16, 2019

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.

4everJang
Legend
January 16, 2019

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.

frameexpert
Community Expert
Community Expert
January 16, 2019

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, " ");

www.frameexpert.com
4everJang
Legend
January 16, 2019

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.