[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt [share] Skript verschiebt Objekt ein Layer rauf/runter

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

[share] Skript verschiebt Objekt ein Layer rauf/runter

Stephan_M
Beiträge gesamt: 472

8. Mai 2008, 16:06
Beitrag # 1 von 7
Bewertung:
(6302 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Juipee, hab mir ein Skript geschrieben. Skripten lernen macht freude. Vielleicht kann es jemand gebrauchen. Kritik herzlich willkommen. :)

Das Skript verschiebt die angewählten Objekt von Ihren Ebenen auf die jeweils nächst höhere, also eine Ebene hoch, oder eine Ebene runter. Praktisch auf nem Keyboard Shortcut. *Klack-Klack* und man hat das Objekt auf der gewünschten Ebene. Das muss man ja sonst immer umständlich mit der Maus in der Ebenenpalette machen.

Umschalt|Alt|ö, Umschalt|Alt|ä bieten sich an.

Code
// an InDesign CS3 JavaScript for moving an object to the next higher up layer 
// MoveToNextLayer uses Henryk Jursz framework of his "zerostepsonerepeat" skript for handling the selection
// modified by Stephan Möbius, may2008

//all script messages
myScriptIDC = "No InDesign documents are open or nothing is selected!";
MTNL_noSel = "Nothing is selected. \nPlease select object and try again.";

//is InDesign?
if ((app.name != "Adobe InDesign") || ((app.name == "Adobe InDesign") && (app.documents.length == 0)))
{
alert(myScriptIDC);
}
else if (app.selection.length != 0)
{
(app.version[0] < "4") ? (app.userInteractionLevel = UserInteractionLevels.interactWithAll) : (app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll);
MTNL_myObjects = new Array;
for(MTNL_myCounter = 0; MTNL_myCounter < app.selection.length; MTNL_myCounter++)
{
switch(app.selection[MTNL_myCounter].constructor.name)
{
case "Rectangle":
case "Polygon":
case "GraphicLine":
case "Oval":
case "TextFrame":
case "Group":
MTNL_myObjects.push(app.selection[MTNL_myCounter]);
}
}
if(MTNL_myObjects.length > 0)
{
for (MTNL_myObjectCounter=0; MTNL_myObjectCounter < MTNL_myObjects.length; MTNL_myObjectCounter++)
{
MTNL_myObject = MTNL_myObjects[MTNL_myObjectCounter];
var MTNL_myOBject_currentLayer = MTNL_myObject.itemLayer;
if ( MTNL_myOBject_currentLayer != app.activeDocument.layers.firstItem() ) {
var MTNL_myOBject_prevLayer = app.activeDocument.layers.previousItem(MTNL_myOBject_currentLayer);
// MTNL_myObject.itemLayer = app.activeDocument.layers.item('Graphics');
MTNL_myObject.itemLayer = MTNL_myOBject_prevLayer;
}
}
}
}
else
{
alert(MTNL_noSel);
} //end of MoveToLayer Script


Code
// an InDesign CS3 JavaScript for moving an object to the previous layer below 
// MoveToNextLayer uses Henryk Jursz framework of his "zerostepsonerepeat" skript for handling the selection
// modified by Stephan Möbius, may2008

//all script messages
myScriptIDC = "No InDesign documents are open or nothing is selected!";
MTNL_noSel = "Nothing is selected. \nPlease select object and try again.";

//is InDesign?
if ((app.name != "Adobe InDesign") || ((app.name == "Adobe InDesign") && (app.documents.length == 0)))
{
alert(myScriptIDC);
}
else if (app.selection.length != 0)
{
(app.version[0] < "4") ? (app.userInteractionLevel = UserInteractionLevels.interactWithAll) : (app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll);
MTNL_myObjects = new Array;
for(MTNL_myCounter = 0; MTNL_myCounter < app.selection.length; MTNL_myCounter++)
{
switch(app.selection[MTNL_myCounter].constructor.name)
{
case "Rectangle":
case "Polygon":
case "GraphicLine":
case "Oval":
case "TextFrame":
case "Group":
MTNL_myObjects.push(app.selection[MTNL_myCounter]);
}
}
if(MTNL_myObjects.length > 0)
{
for (MTNL_myObjectCounter=0; MTNL_myObjectCounter < MTNL_myObjects.length; MTNL_myObjectCounter++)
{
MTNL_myObject = MTNL_myObjects[MTNL_myObjectCounter];
var MTNL_myOBject_currentLayer = MTNL_myObject.itemLayer;
if ( MTNL_myOBject_currentLayer != app.activeDocument.layers.lastItem() ) {
var MTNL_myOBject_nextLayer = app.activeDocument.layers.nextItem(MTNL_myOBject_currentLayer);
// for selecting a certain layer--- MTNL_myObject.itemLayer = app.activeDocument.layers.item('Graphics');
MTNL_myObject.itemLayer = MTNL_myOBject_nextLayer;
}
}
}
}
else
{
alert(MTNL_noSel);
} //end of MoveToLayer Script


mit freundlichem Gruß,
Stephan Möbius

(Dieser Beitrag wurde von Stephan_M am 8. Mai 2008, 16:15 geändert)
X

[share] Skript verschiebt Objekt ein Layer rauf/runter

Stephan_M
Beiträge gesamt: 472

27. Feb 2009, 12:27
Beitrag # 2 von 7
Beitrag ID: #387349
Bewertung:
(5835 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
[UPDATE, Febr. 2009] - InDesign CS3/CS4 Javascript

- verschiebt alle selektierten Objekte auf die für sie jeweils nächst höhere, beziehungsweise tiefere UNABGESCHLOSSENE Ebene. Vorher gab's hier Fehler.
Nachwievor super auf ALT-SHIFT-Ä und ALT-SHIFT-Ö.

Skripte siehe Anhang.

Liebe Grüße,
Stephan


als Antwort auf: [#349727]
Anhang:
MoveToNextLayer.jsx (1.80 KB)   MoveToPrevLayer.jsx (1.81 KB)

[share] Skript verschiebt Objekt ein Layer rauf/runter

Sacha Heck
Beiträge gesamt: 3280

27. Feb 2009, 14:08
Beitrag # 3 von 7
Beitrag ID: #387367
Bewertung:
(5822 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Stephan,

Danke fürs Sharen :-) und Kompliment für deine Ausdauer dich mit
dem Thema Skripten zu beschäftigen ;-)

Viele Grüße,
Sacha



mediengestalter.lu



als Antwort auf: [#387349]

[share] Skript verschiebt Objekt ein Layer rauf/runter

desertman
Beiträge gesamt: 365

27. Feb 2009, 15:47
Beitrag # 4 von 7
Beitrag ID: #387383
Bewertung:
(5799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
... habe gerade in dieser Woche staendig Objekte verschieben muessen und fand das ueber die Palette sehr laestig und habe mir gewuenscht, dass das doch ueber einen Shortcut moeglich waere. Da kommt dein Skript wortwoertlich "wie gerufen". Vielen Dank!

Grüße - desertman
----------------------------------------------------------------------------
Mac mini 2.3 GHz i7; 16 GB RAM; OS X 10.12.x [US]; Creative Suite CC [US]


als Antwort auf: [#387367]

[share] Skript verschiebt Objekt ein Layer rauf/runter

bb99
Beiträge gesamt: 2

24. Mär 2016, 08:39
Beitrag # 5 von 7
Beitrag ID: #548334
Bewertung:
(3120 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bin auf CC 2015 umgestiegen. Jetzt funktionieren die beiden Scripte nicht mehr - habe mich aber über Jahre an sie gewöhnt, kann nicht mehr OHNE. Kann jemand helfen?

====
Fehler 55
Fehlerzeichenfolge: Object does not support the property or method 'userInteractionLevel'
Zeile 15
====



als Antwort auf: [#387383]

[share] Skript verschiebt Objekt ein Layer rauf/runter

Hans Haesler
  
Beiträge gesamt: 5808

24. Mär 2016, 19:44
Beitrag # 6 von 7
Beitrag ID: #548352
Bewertung:
(3032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo bb99,

herzlich willkommen in der Skriptwerkstatt auf HilfDirSelbst! :-)

Mit ...

Code
alert (app.version[0]); 

... ist das Ergebnis "1". Also kleiner als die gegebene "4".
Obwohl die Version Deines Programms höher ist.

Nämlich:
Code
alert (app.version); 

ergibt "11.3.0.34"

Mit der [0] wird nur das erste Zeichen zurückgegeben.

Radikale Abhilfe: Die Zeile 15 so kürzen:

Code
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll; 

Zusätzliche, kosmetische Korrektur: Auch in der ersten Zeile das "CS3/CS4" ändern.

Gruss, Hans


als Antwort auf: [#548334]

[share] Skript verschiebt Objekt ein Layer rauf/runter

bb99
Beiträge gesamt: 2

29. Mär 2016, 08:17
Beitrag # 7 von 7
Beitrag ID: #548413
Bewertung:
(2819 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
1a

So funktioniert es wieder. Besten Dank :-)


als Antwort auf: [#548352]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
19.10.2021

Online
Dienstag, 19. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

Das Thema Farbmanagement in der Druckvorstufe ist für viele ein Buch mit sieben Siegeln. Was sind ICC-Profile? Wie kann ich Farbe sparen? Wie kann man Druckdaten für unterschiedliche Druckverfahren aufbereiten? Wir versorgen Sie mit unseren kostenlosen Webinaren mit Antworten.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=237

Grundlagen Farbmanagement
Veranstaltungen
26.10.2021

Online
Dienstag, 26. Okt. 2021, 10.00 - 10.30 Uhr

Webinar

In unserem ca. 30-minütigen kostenlosen Webinar zeigt Ihnen unser Produktmanager Karsten Schwarze, wie Sie mit ColorLogic ColorAnt, CoPrA und ZePrA einen konsistenten Farbmanagement Workflow aufbauen und die Druckqualität sichern.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=305

Mit ColorLogic ColorAnt & CoPrA & ZePrA zum perfekten Druckergebnis