hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript

 



Michael Pabst p
Beiträge: 1673

23. Jan 2008, 22:03

Beitrag #1 von 7
Bewertung:

(5251 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Hallo.

Es geht um InDesign CS2 Mac.

Ich suche ein Skript, welches alle Textrahmen, die ein bestimmtes Absatzformat enthalten (und nur dieses eine) auf eine neue Ebene kopiert. Die Ebene kann natürlich vorher angelegt werden und eindeutig benannt werden.

Die Rahmen einfach nur per Skript zu selektieren und den Rest händisch zu erledigen wäre auch eine Möglichkeit.

Dunkel meine ich mich zu erinnern, einem ähnlichen Thema hier schon mal über den Weg gelaufen zu sein, finde aber nichts mehr wieder.

Gruß
Michael

MacBook Pro 2.66 GHz Intel Core 2 Duo, 4 GB 1067 MHz DDR3, Lion 10.7.3, CS3, CS4, CS5, CS5.5
Top

Martin Fischer  M  p
Beiträge: 9425

23. Jan 2008, 22:52

Beitrag #2 von 7
Beitrag ID: #332913

Bewertung:

(5236 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Damit?

Code
// Adobe InDesign CS3 Script 

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 1' );

app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;
try { app.findTextPreferences.appliedParagraphStyle = Absatzformat; } catch(e) { alert( 'Fehler\rAbsatzformat ok?' )}

f = app.activeDocument.findText();
for ( i = 0; i < f.length; i++ )
try { f[i].parentTextFrames[0].itemLayer = Ebene; } catch(e) { alert('Fehler\rEbene ok?\rEventuell steckt der Absatz im Überlauf.' )}


Mist, Du brauchtest es für CS2.
Damit?

Code
// Adobe InDesign CS2 Script 

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 1' );

app.findPreferences = app.changePreferences = NothingEnum.nothing;
try { app.findPreferences.appliedParagraphStyle = Absatzformat;} catch(e) {alert('Fehler\rAbsatzformat ok?')}

f = app.activeDocument.search();
for (i = 0; i < f.length; i++)
try {f[i].parentTextFrames[0].itemLayer = Ebene;} catch(e) {alert('Fehler\rEbene ok?\rEventuell steckt der Absatz im Überlauf.')}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#332909]

(Dieser Beitrag wurde von Martin Fischer am 23. Jan 2008, 22:56 geändert)
Top

Martin Fischer  M  p
Beiträge: 9425

24. Jan 2008, 07:38

Beitrag #3 von 7
Beitrag ID: #332925

Bewertung:

(5199 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Korrekter sind folgende Versionen:

CS2
Code
// Adobe InDesign CS2 Script  

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 2' );

app.findPreferences = app.changePreferences = NothingEnum.nothing;
try {app.findPreferences.appliedParagraphStyle = Absatzformat;}
catch(e) {alert('Fehler\rAbsatzformat ok?'); exit();}

t = app.activeDocument.textFrames;
for ( i = 0; i < t.length; i++ )
if ( t[i].search().length > 0 )
try {t[i].itemLayer = Ebene;} catch(e) {}


CS3
Code
// Adobe InDesign CS3 Script  

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 2' );

app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;
try {app.findTextPreferences.appliedParagraphStyle = Absatzformat;}
catch(e) {alert( 'Fehler\rAbsatzformat ok?' ); exit();}

t = app.activeDocument.textFrames;
for ( i = 0; i < t.length; i++ )
if ( t[i].findText().length > 0 )
try {t[i].itemLayer = Ebene;} catch(e) {}


Hier werden nicht wie oben die Ergebnisse der Suche nach dem AF abgefragt und der übergeordnete Textrahmen ggf. auf eine bestimmte Ebene verlegt, sondern es wird jeder (nicht verankerte) Textrahmen des Dokuments nach Vorkommen des AFs durchsucht. Im positiven Fall (mehr als 0 Treffer) wird versucht, den Textrahmen auf eine bestimmte Ebene zu legen.
Die try-Kommandos sollen Fehler bei der Adressierung eines falschen AF oder einer falschen Ebene abfangen.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#332913] Top

Michael Pabst p
Beiträge: 1673

24. Jan 2008, 08:56

Beitrag #4 von 7
Beitrag ID: #332935

Bewertung:

(5185 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Hallo Martin,

vielen Dank. Das hilft.

Pflegt diese Lösungen, wenn von allgemeinem Interesse, eigentlich jemand in die Skriptesammlung ein?

Gruß
Michael

als Antwort auf: [#332925] Top

Martin Fischer  M  p
Beiträge: 9425

24. Jan 2008, 10:37

Beitrag #5 von 7
Beitrag ID: #332960

Bewertung:

(5160 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Antwort auf: Pflegt diese Lösungen, wenn von allgemeinem Interesse, eigentlich jemand in die Skriptesammlung ein?

Zur Zeit ist dieser Job frei.
Hättest Du Interesse, die nicht aufgenommenen Skripte aufzuspüren und mit Link und Kurzbeschreibung in einer sortierten Liste zusammenzustellen, auf daß ich diese in die Skriptesammlung einarbeiten kann?


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#332935] Top

Michael Pabst p
Beiträge: 1673

24. Jan 2008, 10:46

Beitrag #6 von 7
Beitrag ID: #332964

Bewertung:

(5157 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


1. Interesse: ja.
2. Zeit: nein.

Wenn sich 2. in absehbarer Zeit ändern sollte und dann noch Bedarf besteht, werde ich darauf zurückkommen.

Sorry.

M.

als Antwort auf: [#332960] Top

thi
Beiträge: 1

7. Jul 2009, 15:15

Beitrag #7 von 7
Beitrag ID: #401358

Bewertung:

(3022 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


Bei mir wird das Objekt verschoben - ich müsste es auf 5 verschiedene Ebenen kopieren. Ich bin leider ein Skript Greenhorn und wäre für Deine Hilfe dankbar.

als Antwort auf: [#332925] Top


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript


^