[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt nächster absatz

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

nächster absatz

-hans-
Beiträge gesamt: 748

26. Mär 2010, 13:23
Beitrag # 1 von 3
Bewertung:
(3606 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
folgendes JavaScript (hier gefunden!) wendet ausgehend vom Absatzformat der "selection" immer das naechste absatzformat an. Startend beim ersten Absatz der "parentStory" ...

Klappt auch sehr gut :)

Aber: Was muss geändert werden, damit nur die Absätze die nach der "selection" folgen bis zum Ende der Story bearbeitet werden?

Code
  
var myStory = app.selection[0].parentStory;
var myPara = app.selection[0].appliedParagraphStyle
myStory.paragraphs[0].appliedParagraphStyle=myPara;
var nPara = myStory.paragraphs.length;
var aStyle = myStory.paragraphs[0].appliedParagraphStyle;
for (var myCounter = 1; myCounter < nPara; myCounter++){
var nextStyle = aStyle.nextStyle;

// fuer cs 4:
//myStory.paragraphs[myCounter].applyParagraphStyle(nextStyle, true);
// fuer cs, cs 2:
myStory.paragraphs[myCounter].applyStyle(nextStyle, true);
aStyle = nextStyle;
}

X

nächster absatz

Hans Haesler
  
Beiträge gesamt: 5826

27. Mär 2010, 09:23
Beitrag # 2 von 3
Beitrag ID: #437863
Bewertung:
(3564 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

die Zeilen zwei und drei des Scripts sind überflüssig. Der auskommentierte Befehl gilt auch für CS3.

Am besten wählt man den Text aus, den man bearbeiten möchte. Der folgende Code ist so geändert, dass mit dem ersten Absatz der Auswahl begonnen wird:

Code
// die Absätze der Auswahl 
var curSel = app.selection[0].paragraphs;

// das Format des ersten Absatzes speichern
var aStyle = curSel[0].appliedParagraphStyle;

// eine Schleife durch die Absätze der Auswahl
for (n=1; n<curSel.length; n++) {
var nStyle = aStyle.nextStyle;
curSel[n].applyParagraphStyle(nStyle, true);
aStyle = nStyle;
}


Man könnte auch das Startformat im Code festlegen und es dem ersten Absatz der Auswahl zuweisen:

Code
// das erste Format 
var aStyle = app.documents[0].paragraphStyles.itemByName("01_titel");

// die Absätze der Auswahl
var curSel = app.selection[0].paragraphs;

// dem ersten Absatz das Startformat zuweisen
curSel[0].applyParagraphStyle(aStyle, true);

// eine Schleife durch die Absätze der Auswahl
for (n=1; n<curSel.length; n++) {
var nStyle = aStyle.nextStyle;
curSel[n].applyParagraphStyle(nStyle, true);
aStyle = nStyle;
}

Beide Scripts sind für CS3 oder CS4. Für CS2 muss applyParagraphStyle zu applyStyle gekürzt werden.

Gruss, Hans


als Antwort auf: [#437800]

nächster absatz

-hans-
Beiträge gesamt: 748

27. Mär 2010, 10:49
Beitrag # 3 von 3
Beitrag ID: #437867
Bewertung:
(3546 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Hans!

Funktioniert prima :) und da jetzt über die Auswahl der Absätze genau festgelegt werden kann, welcher Abschnitt bearbeitet wird, sogar noch besser als erwartet.


als Antwort auf: [#437863]