• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

What could block a script, when there's nothing wrong with it?

Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Hello, again

I've just wasted some hours trying to get a script to execute. It threw an error saying that the 'object wasn't valid' I decided to give up, wen't home, and later at home started up again to see if I could sort it out.

It executed well on the first run.

Same computer. No changes to the script. ESTK was set to InDesign 5, I checked it a million times.

What could cause this to happen? Caches overflowing? "Blocks" between InDesign and ESTK?
The script isn't callng for any URIs or such.

Here's the bit I was having trouble with:

app.activeDocument.groups.everyItem().ungroup();    

app.activeDocument.layers.everyItem().locked = false;

app.activeDocument.pageItems.everyItem().locked = false;

MoveTextFrame();

function MoveTextFrame() {

    var doc = app.activeDocument;

    var stories = doc.stories;

    var STYLE = doc.paragraphStyles.item("Some Style");

    for (var i = stories.length-1; i >= 0; i--) {

        if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 1) stories.paragraphs[0].parentTextFrames[0].geometricBounds = ([38.8, 15, 48.249, 130]);  

        if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 2) stories.paragraphs[0].parentTextFrames[0].geometricBounds = ([9.2, 15, 18.6, 130]);               

        if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 3 && app.activeDocument.documentPreferences.facingPages == true) stories.paragraphs[0].parentTextFrames[0].geometricBounds = ([9.2,225, 18.6, 340]);

        if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 3 && app.activeDocument.documentPreferences.facingPages == false) stories.paragraphs[0].parentTextFrames[0].geometricBounds = ([9.2,15, 18.6, 130]);

        if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 4) stories.paragraphs[0].parentTextFrames[0].move([15,9.2]);

    }

}

TOPICS
Scripting

Views

2.5K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

LEGEND , Jun 20, 2012 Jun 20, 2012

You're probably trying to ungroup groups that do not exist. Once you ungrouped everything, there are no groups, so app.activeDocument.groups.everyItem() is invalid...

Harbs

Votes

Translate

Translate
People's Champ ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

In ESTK, next to the dropdown where you select which app to target,

there's that little chain icon. If the chain is broken, even if the app

is selected, it won't run. The chain has to be closed. Sometimes (not

sure when) the chain gets broken even if you've got the app targeted.

Might that be it?

Ariel

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Hi Ariel,

Thanks! But no, afraid that's not it. Chain is green and not broken.

It seems to happen when I run the loop more than once. But what could be offending about the code being executed again?

The last part of the code is a bunch of ifs. Should I wrap it upp in 'else break' or something?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

You're probably trying to ungroup groups that do not exist. Once you ungrouped everything, there are no groups, so app.activeDocument.groups.everyItem() is invalid...

Harbs

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Thanks for taking your time Harbs.

Sorry to say, once I escape the ungroup-line, it still won't run. Says line " if (stories.appliedParagraphStyle == STYLE && stories.paragraphs[0].parentTextFrames[0].parentPage.name == 1) stories.paragraphs[0].parentTextFrames[0].geometricBounds = ([38.8, 15, 48.249, 130]);"

..is wrong and that 'null is not an object'.


Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Is the text frame on the pasteboard?

Do you have an inline frame that's overset?

No need to do a lot more error checking...

Harbs

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

The frames get overset from some lines I have above the other ones.

"

var myPar = app.activeDocument.paragraphStyles.item("Some Style");

myPar.fillColor = ("Black");

myPar.pointSize = 40;

myPar.justification = 1818584692

"

Increasing the point size will have them overset. In what way does that inhibit the loop from finding the storie and then change the parentTextFrame? And what can I do about it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

If the entire frame is overset, you cannot get its geometricBounds -- because it does not have any...

You'll need to flow your text beforehand if that's the issue.

Harbs

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Running the loop now puts ALL stories.parentTextFrames to the geometric bounds in the offending line. With no change to the code.

Have I missunderstood something about parenthesis, closing loops, or the use of &&?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Did not get that...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

I mean all textframes literally changed to meet the bounds presented in that line, although the conditions where not met in the individual stories asociated with them. !

It's a start..

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 20, 2012 Jun 20, 2012

Copy link to clipboard

Copied

Try: var stories = doc.stories.everyItem().getElements();

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 05, 2012 Jul 05, 2012

Copy link to clipboard

Copied

LATEST

I'd like to just drop a line to say thanks for the support.

And it deserves to be said, for anyone surfing in, that the obvious is true: No, a script wont stop working even tho you have 'the right code'. It had to to with not knowing about the overset problem.

The second problem "all stories moving up to a certain geobound" was just a result of panic and not putting ; after all lines. (Doesn't show in the post.)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines