[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt insertionPoints (Indd 13.1, Win10, jsx)

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

insertionPoints (Indd 13.1, Win10, jsx)

cwenet
Beiträge gesamt: 1139

29. Jun 2018, 15:32
Beitrag # 1 von 3
Bewertung:
(1289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich möchte gerne mit Hilfe eines Scripts, Text an eine ganz bestimmte Stelle einfügen.

Das Script sieht bisher so aus:

Code
var curSel = app.selection[0];  

curSel.insertionPoints[0].contents = ">>Text an das Ende des vorigen Absatzes<<";
curSel.paragraphs[0].appliedCharacterStyle = "meinZeichenformat";


Im angehängten Demodokument sieht man das Ergebnis und auch wie es einmal aussehen soll.

Bevor das Script ausgeführt wird, muss der komplette 2. Absatz markiert werden (mit dem markierten Text werden später noch weitere Operationen durchgeführt).
Dies ist die Ausgangssituation für mein jetziges Vorhaben.

Also:
Zuerst Absatz auswählen, Script starten und dann soll an das Ende des vorigen Absatzes eine Zeichenkette eingefügt werden. Mit zusätzlicher Formatierung durch ein Zeichenformat.

Im Beispieldokument zeige ich, wie es aussehen soll.
Aber irgendwie gelingt es mir nicht.

https://www.dropbox.com/s/cqgw1fzme2al571/insertionPoints.indd?dl=0


Bitte um Hilfe
Gruß Christoph
X

insertionPoints (Indd 13.1, Win10, jsx)

Uwe Laubender
Beiträge gesamt: 5316

29. Jun 2018, 17:39
Beitrag # 2 von 3
Beitrag ID: #564623
Bewertung:
(1278 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,
versuch's mal damit:

Code
var stringOfTextToAdd = ">>Text an das Ende des vorigen Absatzes<<"; 
var charStyle = "meinZeichenformat";

var sel = app.selection[0];
var paragraph = sel.paragraphs[0];

var index = paragraph.insertionPoints[0].index;

paragraph.parentStory.insertionPoints[ index-1 ].contents = stringOfTextToAdd;

var beginFormat = index-1;
var endFormat = index-1 + stringOfTextToAdd.length;

paragraph.parentStory.insertionPoints.itemByRange
( beginFormat , endFormat ).appliedCharacterStyle = charStyle;

app.select( paragraph.parentStory.insertionPoints[ endFormat + 1 ].paragraphs[0] );


Vor dem Skriptstart braucht nicht der gesamte Absatz ausgewählt sein. Ein Einfügepunkt im richtigen Absatz genügt.


als Antwort auf: [#564622]

insertionPoints (Indd 13.1, Win10, jsx)

cwenet
Beiträge gesamt: 1139

29. Jun 2018, 18:56
Beitrag # 3 von 3
Beitrag ID: #564624
Bewertung:
(1265 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank, Uwe,

so klappt es prima.

Einen schönen Abend
Christoph


als Antwort auf: [#564623]