Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Anfängerfrage fillTint

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Anfängerfrage fillTint

drfoots
Beiträge gesamt: 129

4. Sep 2018, 00:44
Beitrag # 1 von 3
Bewertung:
(1022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo an alle Scripter,

ich bastel als Anfänger an einem Script um die Füllfarbe für alle markierten Elemente auf 10% zu setzen.

Das klappt für Rahmen und Linien auch ganz gut, aber sobald ich noch die Textrahmen mit rein nehme gibt es einen Fehler.

Wenn ich allerdings nur Textrahmen markiere und keine weiteren Elemente gibt es keinen Fehler.

Code
 
var selection = app.selection;

for(var n=0; n<selection.length; n++){

if (app.selection[n].hasOwnProperty("fillTint"))
app.selection[n].fillTint = 10;

if (app.selection[n].hasOwnProperty("fillTint"))
app.selection[n].strokeTint = 10;

if (app.selection[n].hasOwnProperty("fillTint"))
app.selection[n].parentStory.fillTint = 10;
};



lasse ich den Bereich weg
Code
if (app.selection[n].hasOwnProperty("fillTint"))  
app.selection[n].parentStory.fillTint = 10;



dann gibt es keinen Fehler. Natürlich kann ich dann auch Texte nur einfärben, wenn man sie direkt markiert und nicht nur den Textrahmen.

Fehlermeldung:
Object does not support the property parentstory.

Wenn ich wie gesagt nur Textrahmen markiere dann gibt es keinen Fehler.



Ich hoffe, dass Ihr einen Tipp für mich habt.


Viele schöne Grüße
drfoots
X

Anfängerfrage fillTint

Martin Fischer
  
Beiträge gesamt: 12779

4. Sep 2018, 07:26
Beitrag # 2 von 3
Beitrag ID: #565983
Bewertung:
(1003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo drfoots,

bei Deiner dritten Abfrage schließt Du andere Rahmen als Textrahmen nicht ausdrücklich aus. Wenn das Skript dann versucht, an der parentStory eines Graphikrahmens zu operieren, erzeugt es einen Fehler, weil es diese parentStory (eines Graphikrahmens) nicht gibt.

Versuch's mal so:

Code
if (app.selection[n].hasOwnProperty("parentStory") && app.selection[n].parentStory.hasOwnProperty("fillTint"))   
app.selection[n].parentStory.fillTint = 10;



als Antwort auf: [#565982]
(Dieser Beitrag wurde von Martin Fischer am 4. Sep 2018, 07:54 geändert)

Anfängerfrage fillTint

drfoots
Beiträge gesamt: 129

4. Sep 2018, 10:10
Beitrag # 3 von 3
Beitrag ID: #565993
Bewertung:
(977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke für die Hilfe.
Jetzt funktioniert es.

Ich wusste nicht, das parentStory für alle Rahmen gilt.

Viele schöne sonnige Grüße
drfoots


als Antwort auf: [#565983]