[GastForen Programmierung/Entwicklung AppleScript InDesign CS2/3 - Ebenen/layer

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

InDesign CS2/3 - Ebenen/layer

TMA
Beiträge gesamt: 406

21. Okt 2008, 08:36
Beitrag # 1 von 5
Bewertung:
(2008 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ist es möglich per AS eine Ebene nachträglich in der Ebenenreihenfolge zu verschieben, bzw. direkt an bestimmter Stelle zu erstellen?

folgendes Beispiel erstellt eine neue Ebene immer oben auf:
Code
make new layer at beginning with properties {bla} 


leider funktioniert folgender Befehl nicht wie gewünscht (Ebene wird auch oben drüber erzeugt):
Code
make new layer at end with properties {bla} 


Geht das vielleicht irgendwie über den Index des Layers?

Gruß
TMA
X

InDesign CS2/3 - Ebenen/layer

Hans Haesler
  
Beiträge gesamt: 5826

21. Okt 2008, 09:09
Beitrag # 2 von 5
Beitrag ID: #422700
Bewertung:
(2007 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

die neue Ebene kann mit move verschoben werden.

Angenommen, das Dokument enthält die Layers "Ebene 1", "Ebene 2", "Ebene 3", dann wird die neue Ebene "test" zuerst zuoberst erzeugt und dann unter die "Ebene 2" verschoben.
---
tell application "Adobe InDesign CS3"
   activate
   tell document 1
      make layer with properties {name:"test"}
      move layer "test" to after layer "Ebene 2"
   end tell
end tell
---
Die neue Ebene ist automatisch ausgewählt. Eine andere Zielebene kann so bestimmt werden:
---
tell application "Adobe InDesign CS3"
   activate
   tell document 1
      set active layer of layout window 1 to layer "Ebene 1"
   end tell
end tell
---

Gruss, Hans


als Antwort auf: [#422699]

InDesign CS2/3 - Ebenen/layer

TMA
Beiträge gesamt: 406

21. Okt 2008, 09:30
Beitrag # 3 von 5
Beitrag ID: #422701
Bewertung:
(2007 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
mit move klappt. Wenn die neue Ebene allerdings nach ganz unten soll und man kennt die anderen Ebenen nicht, kann man das so machen:

tell application "Adobe InDesign CS3"
   activate
   tell document 1
      make layer with properties {name:"test"}
      move layer "test" to after last layer
   end tell
end tell


Direkt eine neue Ebene ganz unten zu erstellen scheint nicht zu gehen, bleibt wohl der Umweg übers moven.

Danke und Gruß
TMA


als Antwort auf: [#422699]

InDesign CS2/3 - Ebenen/layer

Hans Haesler
  
Beiträge gesamt: 5826

21. Okt 2008, 09:41
Beitrag # 4 von 5
Beitrag ID: #422702
Bewertung:
(2007 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

bitteschön. Ja, es gibt keinen direkte Lösung.

Noch etwas: Um eine Fehlermeldung zu vermeiden, sollte das Script prüfen, ob die Ebene nicht schon vorhanden ist:
---
tell application "Adobe InDesign CS3"
   activate
   tell document 1
      if not (exists layer "test") then
         make layer with properties {name:"test"}
         move layer "test" to after layer -1
      end if
   end tell
end tell
---
Gruss, Hans


als Antwort auf: [#422699]

InDesign CS2/3 - Ebenen/layer

TMA
Beiträge gesamt: 406

21. Okt 2008, 11:16
Beitrag # 5 von 5
Beitrag ID: #422703
Bewertung:
(2007 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
eine Prüfung muss natürlich gemacht werden. Hab mir da schon den passenden Handler für meine Bedürfnisse geschrieben.

Danke und Gruß
TMA


als Antwort auf: [#422699]
X