hilfdirselbst.ch
Facebook Twitter gamper-media
Another Joe m
Beiträge: 8
7. Aug 2013, 13:22
Beitrag #1 von 5
Bewertung:
(1109 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Wie gelange ich an alle verlinkten Textrahmen über die Story? (CS5)


Hallo,

hab ein kleines Problem:

Aufgabenstellung: Wenn der Text in einem Textrahmen eine Bedingung erfüllt, soll dieser Textrahmen sowie alle Textrahmen derselben Story eine Eigenschaft bekommen.

Situation: Textrahmen kann ich leider nicht direkt ansprechen, da sich einige in Gruppen befinden. Ich würde dann entweder über Stories oder PageItems gehen müssen.

Habe ich den Textrahmen dann ausfindig gemacht, würde ich am liebsten über parentStory.textFrames.everyItem() gehen, aber das klappt nicht. Über TextContainer geht nicht, weil sich die Eigenschaft des Textrahmens verändern soll.
Scheinbar erreiche ich mit stories.textFrames nur Textrahmen innerhalb der Story?!

Nebenbei, wenn ich mir das SplitStory-Skript anschaue, wird hier über stories.textFrames auf alle verknüpften Textrahmen zugegrifen, bei mir klappt es aber nicht. Hm..

Bin da etwas verwirrt, hat einer die Lösung?

Vielen Dank!
Frank
Top
 
X
Hans Haesler  M  p
Beiträge: 5581
7. Aug 2013, 21:15
Beitrag #2 von 5
Beitrag ID: #515977
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Wie gelange ich an alle verlinkten Textrahmen über die Story? (CS5)


Hallo Frank,

wenn Du mir ein Beispieldokument zustellst, dann werde ich versuchen, Dir zu helfen.
Bitte auch Deinen Scriptversuch beilegen.

Gruss, Hans
als Antwort auf: [#515963] Top
 
Another Joe m
Beiträge: 8
7. Aug 2013, 23:02
Beitrag #3 von 5
Beitrag ID: #515981
Bewertung:
(1035 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Wie gelange ich an alle verlinkten Textrahmen über die Story? (CS5)


Hallo Hans,

vorab schonmal danke!

Die Beispieldateien habe ich hier: https://www.dropbox.com/...d76o8tp9t/yL77P6n7h_ abgelegt.

Hier schonmal der Code:

Code
var myStories = app.activeDocument.stories; 

for (var i = 0; i < myStories.length; i++) {
if (myStories[i].words[0].contents == "Lorem") {
myStories[i].textFrames.everyItem().textFramePreferences.verticalJustification = VerticalJustification.TOP_ALIGN;
}
}


Viele Grüße,
Frank
als Antwort auf: [#515977] Top
 
Hans Haesler  M  p
Beiträge: 5581
8. Aug 2013, 08:11
Beitrag #4 von 5
Beitrag ID: #515986
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Wie gelange ich an alle verlinkten Textrahmen über die Story? (CS5)


Hallo Frank,

versuche es bitte mal auf diese Weise:

Code
var myStories = app.activeDocument.stories; 

for (var i=0; i<myStories.length; i++) {
if (myStories[i].words[0].contents == "Lorem") {
var myContainers = myStories[i].textContainers;
for (var k=0; k<myContainers.length; k++) {
myContainers[k].textFramePreferences.verticalJustification = VerticalJustification.TOP_ALIGN;
}
}
}

Gruss, Hans
als Antwort auf: [#515981] Top
 
Another Joe m
Beiträge: 8
8. Aug 2013, 10:15
Beitrag #5 von 5
Beitrag ID: #515993
Bewertung:
(965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Wie gelange ich an alle verlinkten Textrahmen über die Story? (CS5)


Ah, interessant. Danke für die Lösung - wäre ich glaube ich nicht drauf gekommen.

Irgendwie sind textContainers nichts halbes und nichts ganzes... Man kann sie einzelnd über den von dir beschriebenen Umweg wie einen Textrahmen behandeln, als Sammlung funktionieren sie aber nicht. Irgendwie schade. Selbst im Adobe-Skript-Handbuch werden sie auf Seite 82 so halb über und auch neben Textrahmen gezeigt.

Danke jedenfalls, kann jetzt das Skript fertigstellen!

Grüße,
Frank
als Antwort auf: [#515986] Top
 
X