Skip to main content
danp1470120
Participating Frequently
Nov 28, 2018 11:32 PM UTC
Answered

How to add UserString for a Marker object?

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 is closed to new replies. Start a new post to keep the conversation going.
frameexpert
frameexpertCorrect answer
Community Expert
Nov 29, 2018 3:42 AM UTC

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

4 replies

frameexpert
Community Expert
frameexpertCommunity ExpertCorrect answer
Community Expert
Nov 29, 2018 3:42 AM UTC

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.

Translate
www.frameexpert.com
danp1470120
Participating Frequently
Dec 1, 2018 3:06 PM UTC

I works. Many thanks.

Translate
frameexpert
Community Expert
Community Expert
Dec 1, 2018 3:33 PM UTC

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.

Translate
www.frameexpert.com