Ich habe folgendes Skript. Da tut was soll, ich poste es wegen den definierten Variablen komplett, brauche aber nur einen kleinen Teil, den ich einfach nicht hinbekomme.
Und zwar soll auf jeder rechten Seite der Rahmen mit dem Absatzformat "ABC" gelöscht werden und auf dieser Seite das Element "el re" aus der Bibliothek platziert werden, entsprechend soll auf jeder linken Seite der Rahmen mit dem Absatzformat "EFG" gelöscht werden und auf dieser Seite das Element "el li" platziert werden.
Code //RahmenAusrichten_551d.js //jo diekmann //19.04.15 //verschiebt Titel und Autor // vorbeugenderweise das Anzeigen von Dialogen aktivieren app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll; if (app.documents.length == 0) { alert ("Es ist kein Dokument offen.", "Achtung"); exit(); } // das aktive Dokument var curDoc = app.activeDocument; // alle Objekte im Dokument var allPageItems = curDoc.allPageItems; // den Ursprung der Linealeinheiten auf "Seite" setzen var rO = (curDoc.viewPreferences.rulerOrigin)*1; if (rO != 1380143215) { curDoc.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN; } // eine Schleife durch alle Objekte im Dokument for (var a=0; a<allPageItems.length; a++) { // das aktive Objekt var curPageItem = allPageItems[a]; var curName = curPageItem.name; var curSide = curPageItem.parentPage.side; if (curName == "titelbox" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([10, 5]); } else if (curName == "titelbox" && curSide == PageSideOptions.RIGHT_HAND) { curPageItem.move([61, 5]); } if (curName == "inhalt" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([10, 15]); } else if (curName == "inhalt" && curSide == PageSideOptions.RIGHT_HAND) { curPageItem.move([15, 15]); } if (curName == "autorbox" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([151, 5]); } else if (curName == "autorbox" && curSide == PageSideOptions.RIGHT_HAND) { curPageItem.move([15, 5]); } // verschiebt Rubriken if (curName == "rubrikbox" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([10, 141]); } else if (curName == "rubrikbox" && curSide == PageSideOptions.RIGHT_HAND) { if (curPageItem.geometricBounds[3] - curPageItem.geometricBounds[1] > 110 ) { curPageItem.move([15, 141]); } else { curPageItem.move([100, 141]); } } // verschiebt Linien if (curName == "balken" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([149.75, -3]); } else if (curName == "balken" && curSide == PageSideOptions.RIGHT_HAND) { curPageItem.move([59.75, -3]); } // verschiebt rsn if (curName == "rsnfuss" && curSide == PageSideOptions.LEFT_HAND) { // das Objekt verschieben curPageItem.move([110, 142]); } else if (curName == "rsnfuss" && curSide == PageSideOptions.RIGHT_HAND) { curPageItem.move([15, 142]); } } // den Linealursprung wiederherstellen if (rO != 1380143215) { app.activeDocument.viewPreferences.rulerOrigin = rO; } // nachfolgende Codezeilen sind dem "RubrikAusrichten_552d.js" entnommen // Referenzen zu den beiden Absatzformaten var leftStyle = curDoc.paragraphStyles.itemByName("rubrik links"); var rghtStyle = curDoc.paragraphStyles.itemByName("rubrik rechts"); // die Suchen/Ersetzen-Vorgaben zurücksetzen app.findGrepPreferences = app.changeGrepPreferences = null; // den Ersetzen-String definieren (das Austauschen der Gruppen) app.changeGrepPreferences.changeTo = "$2$1"; // eine Schleife durch die Seiten for (var p=0; p<curDoc.pages.length; p++) { // die aktuelle Seite var curPage = curDoc.pages[p]; // die Objekte der aktuellen Seite var allObjects = curPage.allPageItems; // eine Schleife durch die Objekte for (var k=0; k<allObjects.length; k++) { var curFrame = allObjects[k]; if (curFrame.constructor.name == "TextFrame") { if (curFrame.name == "rubrikbox") { if ((curPage.side)*1 == 1919382632) { // eine rechte Seite //ab hier der relevante Abschnitt // der Name des Absatzformates var curStyle = curFrame.parentStory.appliedParagraphStyle.name; // den Namen testen if (curStyle == "rubrik links") { // das Absatzformat zuweisen curFrame.paragraphs[0].appliedParagraphStyle = rghtStyle; } // die Muster vorbereiten app.findGrepPreferences.findWhat = "(.+)(\t)"; // das Ergebnis curFrame.changeGrep(); } else { // eine linke Seite var curStyle = curFrame.parentStory.appliedParagraphStyle.name; if (curStyle == "rubrik rechts") { curFrame.paragraphs[0].appliedParagraphStyle = leftStyle; } app.findGrepPreferences.findWhat = "(\t)(.+)"; curFrame.changeGrep(); } } } } } // die Suchen/Ersetzen-Vorgaben zurücksetzen app.findGrepPreferences = app.changeGrepPreferences = null; // den Anwender informieren var dlog = new Window("palette"); dlog.size = [320,100]; dlog.add("statictext", [80, 100, 320, 116], "Fertig."); dlog.show(); // eine kleine Pause $.sleep(300); // das Fenster schliessen dlog.close(); Mit einer Anpassung von
Code var activeSpread = app.activeWindow.activeSpread; var curDoc = app.documents[0]; curDoc.spreads.add(LocationOptions.AFTER, activeSpread); var theDoc = app.activeDocument; var libAssets = app.libraries.item("Bibliothek.indl").assets; var libItem = libAssets.item("** doppelseite neu"); libItem.placeAsset(theDoc); Komme ich leider nicht weiter.
Vielen Dank!