Moin Jo,
ich muss mit dem Klammerbeutel gepudert sein! :-)
Ich liefere normalerweise niemals solch anwenderunfreundlichen und nicht ausgetestete Skripte ab!
Das folgende Skript funktioniert so:
1. Start: Skript ist aktiv und efordert, dass Du die erste Seite anspringst und ein Element auf der Seite selektierst.
Danach springst Du die zweite Seite an und selektierst wieder ein Element.
Danach sollten die Seiten vertauscht sein.
Dies kannst du beliebig lange wiederholen.
Danach musst Du das Skript erneut starten. Das alles machst Du bitte erst
nachdem Du Dein Dokument gesichert hast und auf eigenes Risiko!!!!!!!!
Code // AFTER_SELECTION_CHANGED // CC 2020; #target indesign-15.064 // CS 6 not testet!!!!! // #target indesign-8.0 #targetengine "mySelectionChangedSession" if ((afterSelectionChanged === undefined) || (afterSelectionChanged == null)){ var afterSelectionChanged = new AfterSelectionChanged(); if (afterSelectionChanged != null) alert("PageExchange is active"); } else{ afterSelectionChanged.removeListener(); afterSelectionChanged = null; alert("PageExchange is inactive"); } /*Object*/function AfterSelectionChanged(){ var/*EventListener*/ afterSelectionChangedListener = app.activeDocument.eventListeners.add("afterSelectionChanged", listenerTest); function listenerTest () { var /*Page*/page = null; if (!("pages" in this)) this.pages = []; if (app.selection.length > 0) page = wpsGetParentPageOfObjectIfPossible(app.selection[0]); if (page != null){ this.pages.push(page); if (this.pages.length > 1){ exchangePages(this.pages[0], this.pages[1]); this.pages.length = 0; } app.selection = NothingEnum.NOTHING; } } this.removeListener = function(){ if(afterSelectionChangedListener != null) afterSelectionChangedListener.remove(); } /*page*/function wpsGetParentPageOfObjectIfPossible(/*object*/o) { try { var /*String*/whatIsIt = null, /*Page*/parentPage = null; if (o === undefined) return null; if (o === null) return null; if (!(o.isValid)) return null; if ("parentPage" in o) return o.parentPage; parentPage = (("parentTextFrames" in o) && (o.parentTextFrames.length >0)) ? o.parentTextFrames[0].parentPage : null; if (parentPage != null) return parentPage; while (o != null) { if ("parentPage" in o) return o.parentPage; var whatIsIt = o.constructor; switch (whatIsIt) { case Page : return o; case Character : o = o.parentTextFrames[0]; break; case Footnote :; // drop through case Cell : o = o.insertionPoints[0].parentTextFrames[0]; break; case Note : o = o.storyOffset.parentTextFrames[0]; break; case XMLElement : if (o.insertionPoints[0] != null) { o = o.insertionPoints[0].parentTextFrames[0]; break; } case Application : return null; default: o = o.parent; } if (o == null) return null; } return o } catch (error) { alert(error.message + "\nin File: " + error.fileName + "\nZeile: " + error.line); // throw error; } return null; } /*Boolean*/function exchangePages(/*Page*/first, /*Page*/second){ try{ var /*Page*/p = null; if (first.documentOffset === 0) p = app.activeDocument.pages.item(2); else { if ((first.documentOffset +1) === second.documentOffset){ second.move(LocationOptions.BEFORE,first); } else{ p = app.activeDocument.pages.item(first.documentOffset+1); first.move(LocationOptions.BEFORE,second); second.move(LocationOptions.BEFORE,p); } } } catch (error){ alert(error.message); } } } Einen schönen Tag wünscht
Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen .
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen