Skip to main content
danp1470120
Participating Frequently
November 28, 2018
Answered

How to add UserString for a Marker object?

  • November 28, 2018
  • 1 reply
  • 463 views

Hi colleagues

I am newbie to ExtendScript So as the title says How to add UserString for a Marker object?

My code is as below, but it does not add UserString to the Markers.

var doc = app.ActiveDoc;

var flow = doc.MainFlowInDoc;

var tbl = 0;

var textItems = flow.GetText(Constants.FTI_MarkerAnchor);

var s = "Number of Comments: " + textItems.len.toString();

alert(s)

for (var i = 0; i < textItems.len; i += 1)

{

    $.write(textItems.obj.MarkerText);

    s = "Comment: " + textItems.obj.MarkerText + " @ " + textItems.obj.TextLoc.offset.toString() + "\n"
        + textItems.obj.Unique;

    GetUniqueObject(textItems.obj.Unique).UserString = "Added by Dan"; // Will add more useful data here

}

This topic has been closed for replies.
Correct answer frameexpert

Since you already have the Marker object with textItems.obj, you should be able to add the UserString directly like this:

textItems.obj.UserString = "Added by Dan";

You don't need the GetUniqueObject method because you already have the Marker object.

Check and see if the UserString persists, though. There was a bug where setting the UserString property with ExtendScript wouldn't persist after you quit FrameMaker. It does persist with FrameScript and the FDK. They may have fixed it, but I haven't tried it yet.

1 reply

frameexpert
Community Expert
frameexpertCommunity ExpertCorrect answer
Community Expert
November 29, 2018

Since you already have the Marker object with textItems.obj, you should be able to add the UserString directly like this:

textItems.obj.UserString = "Added by Dan";

You don't need the GetUniqueObject method because you already have the Marker object.

Check and see if the UserString persists, though. There was a bug where setting the UserString property with ExtendScript wouldn't persist after you quit FrameMaker. It does persist with FrameScript and the FDK. They may have fixed it, but I haven't tried it yet.

www.frameexpert.com
danp1470120
Participating Frequently
December 1, 2018

I works. Many thanks.

frameexpert
Community Expert
Community Expert
December 1, 2018

Thank you for marking my answer as correct. Did you check and see if the UserString value persists after you close the file and reopen it? I have had problems with this in the past.

www.frameexpert.com