[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt TextFrame am Ende einer selection einfügen (CC2019, WIN10, JSX)

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

TextFrame am Ende einer selection einfügen (CC2019, WIN10, JSX)

cwenet
Beiträge gesamt: 1139

14. Jun 2019, 07:33
Beitrag # 1 von 3
Bewertung:
(5047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich möchte einen TextFrame am Ende einer selection einfügen.
Das klappt hiermit ganz gut, wenn ich den ganzen Absatz auswähle, ohne das Return:

Code
var mySelection = app.selection[0];  
var myFrame = mySelection.insertionPoints[-1].textFrames.add();


Wie kann ich dem Script sagen, dass es generell den Textrahmen an das Absatzende einfügen soll, egal wie viel Text ich im Absatz ausgewählt habe?
Der ausgewählte Text soll später weiter verarbeitet werden. Es wird also nicht immer der komplette Text im Absatz benötigt.

Mit der Bitte um Hilfe.
Einen schönen Tag Christoph
X

TextFrame am Ende einer selection einfügen (CC2019, WIN10, JSX)

Gerald Singelmann
  
Beiträge gesamt: 6269

14. Jun 2019, 08:42
Beitrag # 2 von 3
Beitrag ID: #570701
Bewertung:
(5030 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab ein paar Sicherheitsabfragen eingebaut:

Code
if ( app.selection) main(); 

function main() {
var s = app.selection[0];
if ( s.hasOwnProperty("pointSize") ) {
var p = s.paragraphs.lastItem();
if ( p.characters.lastItem().contents == "\r" ) {
var tf = p.insertionPoints[-2].textFrames.add()
} else {
var tf = p.insertionPoints[-1].textFrames.add();
}
}
}


Der Trick ist, dass jedes Text-Objekt eine Liste seiner Absätze (und insertionPoints und characters etc) hat.

Egal, was da an Text markiert ist, ich kann es auffordern: Gib mir mal alle deine Absätze. Auch wenn nur ein Absatz markiert ist, kriege ich da eine Liste, ggf mit nur einem Element.

Wenn man am Ende eines Absatzes einfügen will, muss man kontrollieren, ob am Ende des Absatzes ein Return ist. Das ist am Ende eines Textabschnittes nicht notwendigerweise der Fall.


als Antwort auf: [#570699]

TextFrame am Ende einer selection einfügen (CC2019, WIN10, JSX)

cwenet
Beiträge gesamt: 1139

14. Jun 2019, 12:42
Beitrag # 3 von 3
Beitrag ID: #570703
Bewertung:
(5002 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank Gerald,

das funktioniert vorzüglich.
Einen schönen Tag
Christoph


als Antwort auf: [#570701]