[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:
(6286 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:
(5819 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:
(5806 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:
(5783 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:
(3104 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: 5805

24. Mär 2016, 19:44
Beitrag # 6 von 7
Beitrag ID: #548352
Bewertung:
(3016 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:
(2803 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
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
09.09.2021 - 17.12.2021

Digicomp Academy, Zürich
Donnerstag, 09. Sept. 2021, 13.00 Uhr - Freitag, 17. Dez. 2021, 19.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von Publishing NETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: 6'300.– zzgl. 7.7% MWST
Dauer: 18 Tage(ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch