Hallo,
im Prinzip ist dies die Weiterentwicklung meines Skriptes, die auf Objekte anhand des jeweils zugewiesenen Objektformates zugreift.
Die aktuelle Hürde liegt beim EndhorizontalOffset:
Das Skript liest mir das Zeichen aus von dem ich das EndhorizontalOffset herausfinden möchte. Doch die Info selber bekomme ich nicht.
Code // die Auswahl var sel = app.selection; // eine Liste mit Variablen-Namen vorbereiten var preis, streichpreis, preishit, streichpreis_hit, preiszusatz, preiszusatz_palettenabnahme, grundpreis_zusatz, grundpreis_zusatz_palette, palettenpreis, palettenpreis_einzelabnahme, feature_1, feature_2, feature_3, feature_4, feature_hit_1, feature_hit_2, feature_hit_3; // eine Scheife durch die Auswahl for (var i = 0; i < sel.length; i++) { // das gerade untersuche Objekt in der Auswahl var curSel = sel[i]; // das gerade verwendete Objektformat var objStyleName = curSel.appliedObjectStyle.name; //den Namen des Objektformats prüfen und der Variablen zuweisen if (objStyleName == "preis") preis = curSel; else if (objStyleName == "streichpreis") streichpreis = curSel; else if (objStyleName == "preishit") preishit = curSel; else if (objStyleName == "streichpreis_hit") streichpreis_hit = curSel; else if (objStyleName == "preiszusatz") preiszusatz = curSel; else if (objStyleName == "preiszusatz") preiszusatz_palettenabnahme = curSel; else if (objStyleName == "grundpreis_zusatz") grundpreis_zusatz = curSel; else if (objStyleName == "grundpreis_zusatz") grundpreis_zusatz_palette = curSel; else if (objStyleName == "palettenpreis") palettenpreis = curSel; else if (objStyleName == "palettenpreis") palettenpreis_einzelabnahme = curSel; else if (objStyleName == "grundpreis_zusatz") grundpreis_zusatz_palette = curSel; else if (objStyleName == "feature") feature_1 = curSel; else if (objStyleName == "feature") feature_2 = curSel; else if (objStyleName == "feature") feature_3 = curSel; else if (objStyleName == "feature_hit") feature_hit_1 = curSel; else if (objStyleName == "feature_hit") feature_hit_2 = curSel; else if (objStyleName == "feature_hit") feature_hit_3 = curSel; }; /* PREISZUSATZ A U S R I C H T E N A M P R E I S */ // if (preiszusatz.isValid) // { var preis_erste_zahl = preis.contents[0]; //alert (preis_erste_zahl); var font_groesse_preis = preis.characters[0].pointSize; //alert (font_groesse_preis); var faktor = font_groesse_preis*0.001; //alert (faktor); var abstand_preis = preis_erste_zahl; switch(preis_erste_zahl) { case "0": abstand_preis = faktor*0.9 break; case "1": abstand_preis = faktor*-31.2 break; case "2": abstand_preis = faktor*10 break; case "3": abstand_preis = faktor*10.75 break; case "4": abstand_preis = faktor*7.5 break; case "5": abstand_preis = faktor*13.1 break; case "6": abstand_preis = faktor*1 break; case "7": abstand_preis = faktor*-18 break; case "8": abstand_preis = faktor*10.5 break; case "9": abstand_preis = faktor*-0.75 break; }; var preiszusatz_gb = preiszusatz.geometricBounds; var preiszusatz_breite = preiszusatz_gb[3] - preiszusatz_gb[1]; var preiszusatz_hoehe = preiszusatz_gb[2] - preiszusatz_gb[0]; var preis_hoehe = preis.geometricBounds[2] - preis.geometricBounds[0]; var preisgbX = preis.geometricBounds[1]; var preisgbY = preis.geometricBounds[0]; //alert (preisgbX); //alert (preiszusatz_gb); preiszusatz.move([preisgbX - preiszusatz_breite - abstand_preis, preisgbY + preis_hoehe - preiszusatz_hoehe]) ; // } /* GRUNDPREISZUSATZ A U S R I C H T E N A M P R E I S */ //if (grundpreis_zusatz.isValid) // { var preis_inhalt = preis.contents; var kommaindex = preis_inhalt.indexOf("\."); var kommaposition = preis_inhalt[kommaindex]; alert (kommaposition); var x_koord_preis_komma_stelle = kommaposition.endhorizontalOffset; alert (x_koord_preis_komma_stelle); // }; /* var grundpreis_zusatz_gb = grundpreis_zusatz.geometricBounds; var grundpreis_zusatz_hoehe = grundpreis_zusatz_gb[2] - grundpreis_zusatz_gb[0]; var preis_hoehe = preis.geometricBounds[2] - preis.geometricBounds[0]; var preisgbX = preis.geometricBounds[1]; var preisgbY = preis.geometricBounds[0]; // alert (preisgbX); // alert (preiszusgb); // grundpreis_zusatz.move([x_koord_preis_komma_stelle, preisgbY + preis_hoehe - grundpreis_zusatz_hoehe]) ; */ Habt ihr eine Idee?
Vielen Dank.