hilfdirselbst.ch
Facebook Twitter gamper-media

**********************************************
        Facelifting HDS: Danke für deine Unterstützung!

**********************************************


jodi m
Beiträge: 100
21. Jun 2017, 20:12
Beitrag #1 von 6
Bewertung:
(6866 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


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!
(Dieser Beitrag wurde von Hans Haesler am 22. Jun 2017, 11:26 geändert)
Top
 
X
Kai Rübsamen  M  p
Beiträge: 4483
22. Jun 2017, 09:11
Beitrag #2 von 6
Beitrag ID: #558177
Bewertung:
(6848 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


Hallo Jo,

ich hab zwar heute keine Zeit, weil Schulung, aber du könntest schon mal ein idml + deine Bibliotheksobjekte posten. Viell. schaut es sich dann schon ein anderer an.

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#558171] Top
 
jodi m
Beiträge: 100
22. Jun 2017, 13:33
Beitrag #3 von 6
Beitrag ID: #558183
Bewertung:
(6801 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


Hallo Kai,

danke für deine nette Nachricht. Leider bin ich keine Member mehr und kann keine Anhänge mehr hochladen.
EDIT: Habe gerade "gespendet", dauert aber vermutlich, bis mein User-Status aktualisiert wird.
Ich werde mir eine andere Lösung überlegen bzw. auf eine Automatisierung verzichten. Schade.
Gruß
Jo

-------------------------------------------------------------------------

Komm wir essen Opa!
Satzzeichen können Leben retten.
als Antwort auf: [#558177] Top
 
jodi m
Beiträge: 100
23. Jun 2017, 08:37
Beitrag #4 von 6
Beitrag ID: #558197
Bewertung:
(6742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


Kann immer noch nichts hochladen, meines Memberstatus ist noch nicht aktualisiert. Hm ...
Gruß
Jo

-------------------------------------------------------------------------

Komm wir essen Opa!
Satzzeichen können Leben retten.
als Antwort auf: [#558183] Top
 
Kai Rübsamen  M  p
Beiträge: 4483
23. Jun 2017, 10:30
Beitrag #5 von 6
Beitrag ID: #558201
Bewertung:
(6730 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


Naja, es gibt ja auch noch Alternativen zum hds-upload … dachte, du wolltest es händisch lösen?

Gruß Kai Rübsamen
_______________________
als Antwort auf: [#558197] Top
 
jodi m
Beiträge: 100
23. Jun 2017, 16:07
Beitrag #6 von 6
Beitrag ID: #558208
Bewertung:
(6699 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Hilfe benötigt: Biblothekelement einfügen


Händisch, ja, weil ich unter Eile bin, aber dazulernen wäre auch nicht schlecht. ;-)
Gruß
Jo

-------------------------------------------------------------------------

Komm wir essen Opa!
Satzzeichen können Leben retten.
als Antwort auf: [#558201] Top
 
X