Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Arbeitsabläufe automatisieren

Martin Fischer
  
Beiträge gesamt: 12779

20. Jul 2012, 10:36
Bewertung:

gelesen: 2141

Beitrag als Lesezeichen
Hallo Joachim,

willkommen im InDesign-Forum.

Per Skript ist es zwar möglich, auch mit Copy & Paste zu arbeiten.
Aber es gibt bessere Methoden für das Duplizieren von Texten, ohne die Zwischenablage zu belasten.

Du hast ein paar Arbeitsschritte grob beschrieben.
Hier ein Schnippsel (kleines Skript), das versucht, Deine Arbeitsschritte abzubilden.

Code
// ==================================== 
var Ursprung = [100,0]; // y, x
var Breite = 100;
var Höhe = 50;
// ====================================

if (app.selection.length > 0 && app.selection[0].hasOwnProperty('baseline') )
{
var sel = app.selection[0];
var tf = sel.parentTextFrames[0].parentPage.textFrames.add({geometricBounds:[Ursprung[0], Ursprung[1], Ursprung[0] + Höhe, Ursprung[1] + Breite]});
sel.duplicate(LocationOptions.AT_BEGINNING, tf);
tf.parentStory.texts.firstItem().appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName('[Einfacher Absatz]');
tf.fit(FitOptions.FRAME_TO_CONTENT);
}


Ursprung, Breite und Höhe beziehen sich auf den neu zu erstellenden Textrahmen. Kannst Du nach Belieben anpassen.

In der Zeile tf.parentStory.texts.firstItem().appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName('[Einfacher Absatz]'); wird dem Duplizierten Text das Absatzformat [Einfacher Absatz] zugewiesen. Gib da den Namen des Absatzformats Deiner Wahl an.

Und willst Du den ausgewählten Text in den neuen Textrahmen verschieben, brauchst Du nur statt dem duplicate()-Befehl den move()-Befehl verwenden:

Code
// ==================================== 
var Ursprung = [100,0]; // y, x
var Breite = 100;
var Höhe = 50;
// ====================================

if (app.selection.length > 0 && app.selection[0].hasOwnProperty('baseline') )
{
var sel = app.selection[0];
var tf = sel.parentTextFrames[0].parentPage.textFrames.add({geometricBounds:[Ursprung[0], Ursprung[1], Ursprung[0] + Höhe, Ursprung[1] + Breite]});
sel.move(LocationOptions.AT_BEGINNING, tf);
tf.parentStory.texts.firstItem().appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName('[Einfacher Absatz]');
tf.fit(FitOptions.FRAME_TO_CONTENT);
}



Skripte installieren

(Dieser Beitrag wurde von Martin Fischer am 20. Jul 2012, 11:14 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 20. Jul 2012, 11:03
Beitrag geändert von Martin Fischer (Moderator) am 20. Jul 2012, 11:04
Beitrag geändert von Martin Fischer (Moderator) am 20. Jul 2012, 11:14