[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: 480

8. Mai 2008, 18:06
Beitrag # 1 von 7
Bewertung:
(6785 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, 18:15 geändert)
X

[share] Skript verschiebt Objekt ein Layer rauf/runter

Stephan_M
Beiträge gesamt: 480

27. Feb 2009, 13:27
Beitrag # 2 von 7
Beitrag ID: #387349
Bewertung:
(6318 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: 3281

27. Feb 2009, 15:08
Beitrag # 3 von 7
Beitrag ID: #387367
Bewertung:
(6305 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


als Antwort auf: [#387349]

[share] Skript verschiebt Objekt ein Layer rauf/runter

desertman
Beiträge gesamt: 365

27. Feb 2009, 16:47
Beitrag # 4 von 7
Beitrag ID: #387383
Bewertung:
(6282 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!


als Antwort auf: [#387367]

[share] Skript verschiebt Objekt ein Layer rauf/runter

bb99
Beiträge gesamt: 2

24. Mär 2016, 09:39
Beitrag # 5 von 7
Beitrag ID: #548334
Bewertung:
(3603 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: 5826

24. Mär 2016, 20:44
Beitrag # 6 von 7
Beitrag ID: #548352
Bewertung:
(3515 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, 10:17
Beitrag # 7 von 7
Beitrag ID: #548413
Bewertung:
(3302 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
1a

So funktioniert es wieder. Besten Dank :-)


als Antwort auf: [#548352]
X

Aktuell

PDF / Print
pitstopPro_300

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!