[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:
(5644 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

  1. 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:
(5602 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
  1. // 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
  1. // 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:
(5584 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]