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

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

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

Michael Pabst
Beiträge gesamt: 2858

23. Jan 2008, 22:03
Beitrag # 1 von 7
Bewertung:
(19872 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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
X

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

Martin Fischer
  
Beiträge gesamt: 12779

23. Jan 2008, 22:52
Beitrag # 2 von 7
Beitrag ID: #332913
Bewertung:
(19825 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.')}



als Antwort auf: [#332909]
(Dieser Beitrag wurde von Martin Fischer am 23. Jan 2008, 22:56 geändert)

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

Martin Fischer
  
Beiträge gesamt: 12779

24. Jan 2008, 07:38
Beitrag # 3 von 7
Beitrag ID: #332925
Bewertung:
(19788 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#332913]

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

Michael Pabst
Beiträge gesamt: 2858

24. Jan 2008, 08:56
Beitrag # 4 von 7
Beitrag ID: #332935
Bewertung:
(19774 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

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

Martin Fischer
  
Beiträge gesamt: 12779

24. Jan 2008, 10:37
Beitrag # 5 von 7
Beitrag ID: #332960
Bewertung:
(19749 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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?


als Antwort auf: [#332935]

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

Michael Pabst
Beiträge gesamt: 2858

24. Jan 2008, 10:46
Beitrag # 6 von 7
Beitrag ID: #332964
Bewertung:
(19746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

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

thi
Beiträge gesamt: 1

7. Jul 2009, 15:15
Beitrag # 7 von 7
Beitrag ID: #401358
Bewertung:
(17611 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]
X