Skip to main content
dublove
Legend
September 18, 2025
Answered

This is confusing again: "alert(sel);" is correct, so why is the second 'alert' wrong?

  • September 18, 2025
  • 1 reply
  • 136 views

When I select an image within the text, I want to obtain the width of the textFrame.
The result throws an error.

alert(sel); is right.

 

alert(sel.geometricBounds[3]); Error popup: Object is invalid

Does textFrame not have a geometricBounds property?

 

 

item = app.activeDocument.selection[0];
var doc = app.activeDocument;
var sel = item.parent.parent.textFrames[0]
alert(sel);

alert(sel.geometricBounds[3]);

 

Correct answer TᴀW

Instead of app.activeDocument you can just use the shortcut property document.

Next, you've got an anchored object selected. Its parent is a character. And its parent is a story.

You access all the text frames that are part of a story with the property textContainers which returns an array. (story.textFrames will return any text frames that are anchored to the first insertion point of that story, basically useless.) But this won't really help you, because you may not know which frame the anchored object is in.

Instead, to get the textFrame that a character is in, go directly, using the parentTextFrames property: document.selection[0].parent.parentTextFrames[0].geometricBounds[3]

 

 

1 reply

TᴀW
TᴀWCorrect answer
Legend
September 18, 2025

Instead of app.activeDocument you can just use the shortcut property document.

Next, you've got an anchored object selected. Its parent is a character. And its parent is a story.

You access all the text frames that are part of a story with the property textContainers which returns an array. (story.textFrames will return any text frames that are anchored to the first insertion point of that story, basically useless.) But this won't really help you, because you may not know which frame the anchored object is in.

Instead, to get the textFrame that a character is in, go directly, using the parentTextFrames property: document.selection[0].parent.parentTextFrames[0].geometricBounds[3]

 

 

Visit www.id-extras.com for powerful InDesign scripts that save hours of work — automation, batch tools, and workflow boosters for serious designers.
dublove
dubloveAuthor
Legend
September 19, 2025

This problem again.
Great.
Thanks.