[GastForen Programmierung/Entwicklung AppleScript 2. Textrahmen im InDesign eine Koordinate zuweisen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

2. Textrahmen im InDesign eine Koordinate zuweisen

MarionHaller
Beiträge gesamt: 13

9. Mai 2016, 21:01
Beitrag # 1 von 6
Bewertung:
(2712 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Foren-User,

ich habe ein kleines Problem und zwar kopiere ich Inhalte von einer Seite auf eine Andere und formatiere dabei unter anderem auch Rahmengrößen und -positionen.

Jetzt habe ich das Problem, das ich dem ersten Textrahmen neue Größe und Position geben kann, allerdings dem 2. nicht mehr.
Mein Skript für den ersten Rahmen schaut so aus:

if exists rectangle 1 then
set mybounds to {0.3, 0.3, 32.7, 23.2}
set mytextbounds to {8.5, 26.25, 35.0, 89.0}
set geometric bounds of rectangle 1 to mybounds
set geometric bounds of text frame 1 to mytextbounds
end if


Den zweiten Rahmen hätte ich halt mit "mytextbounds2" benannt, aber das geht leider nicht.

Kann mir bitte jemand helfen.
Vielen Dank im Voraus!
Marion
X

2. Textrahmen im InDesign eine Koordinate zuweisen

Peter Sauseng
Beiträge gesamt: 484

10. Mai 2016, 10:52
Beitrag # 2 von 6
Beitrag ID: #549487
Bewertung:
(2649 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit Apple habe ich nichts am Hut.

Mit JavaScript kann man per TextFrames.itemByName einen Textrahmen über den Namen des Textrahmens auswählen.
Dieser Name muss dem Textrahmen vorher natürlich zugewiesen werden.

Gruß, Peter


als Antwort auf: [#549482]

2. Textrahmen im InDesign eine Koordinate zuweisen

Hans Haesler
  
Beiträge gesamt: 5826

10. Mai 2016, 13:29
Beitrag # 3 von 6
Beitrag ID: #549492
Bewertung:
(2622 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

aber wenn Du "rectangle 2" und "text frame 2" einsetzest, sollte es doch klappen.

(Ich bin unterwegs und kann meinen Rat nicht vor Donnerstagabend prüfen.)

Gruss, Hans


als Antwort auf: [#549482]

2. Textrahmen im InDesign eine Koordinate zuweisen

MarionHaller
Beiträge gesamt: 13

10. Mai 2016, 14:22
Beitrag # 4 von 6
Beitrag ID: #549494
Bewertung:
(2604 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

leider muss das Skript im AppleScript laufen.
das mit dem retangle 2 geht leider nicht - es kommt folgende Meldung:
„Adobe InDesign CS4“ hat einen Fehler erhalten: Begrenzungsrahmen konnte nicht erstellt werden.


habe auch dann schon "mytextbounds2" geschrieben - geht auch nicht :(

LG Marion


als Antwort auf: [#549492]

2. Textrahmen im InDesign eine Koordinate zuweisen

Hans Haesler
  
Beiträge gesamt: 5826

10. Mai 2016, 15:38
Beitrag # 5 von 6
Beitrag ID: #549498
Bewertung:
(2568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion,

wenn das Dokument zwei Bildrahmen und zwei Textrahmen enthält, dann sollte es mit meinem Vorschlag funktionieren.

Das 'mytextbounds2' ist ja "nur" der Name der Variablen, welcher die Liste der Werte zugewiesen ist.

Gruss, Hans


als Antwort auf: [#549494]

2. Textrahmen im InDesign eine Koordinate zuweisen

NEU!
Beiträge gesamt: 180

12. Mai 2016, 14:07
Beitrag # 6 von 6
Beitrag ID: #549625
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marion, Hans hat recht, du musst nur rectangle 2 ansprechen und andere Koordinaten verwenden.
In meinem Beispiel prüft InD alle Objekte auf Rechtecke und zählt diese (schlampig, aber ich gehe davon aus dass es immer ein text frame zu jedem rectangle geben wird).

Jetzt werden alle vorhandenen Paare gesetzt, und zwar mit den Werten die du in der Liste mybounds hast. Einfach dort deine Koordinaten(-Liste) in die Liste hängen.

Code
tell application "Adobe InDesign CS5.5" 
tell active document

set ItemPairCounter to (every page item whose class is rectangle)
set mybounds to {{0.3, 0.3, 32.7, 23.2}, {50, 50, 82.7, 83.2}}
set mytextbounds to {{8.5, 26.25, 35.0, 89.0}, {58.5, 76.25, 85.0, 159.0}}

repeat with k from 1 to length of ItemPairCounter
if (exists rectangle k) and (exists text frame k) then
set geometric bounds of rectangle k to item k of mybounds
set geometric bounds of text frame k to item k of mytextbounds
else
return
end if
end repeat
end tell

end tell



als Antwort auf: [#549498]
X