Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Tabellenzellen formatieren (CS6, Win)

Tabellenzellen formatieren (CS6, Win)

cwenet
Beiträge gesamt: 1139

31. Aug 2013, 10:15
Bewertung:

gelesen: 1111

Beitrag als Lesezeichen
Guten Tag,

hiermit möchte ich gerne nur bei ausgewählten Zellen je eine Linie unten setzen.

Code
var myStrokeWeight = 0.5;   
var myStrokeColor = app.documents[0].swatches.item("Black");

var myFirstCell = app.selection[0].cells[0];
var myLastCell = app.selection[0].cells[-1];

var myFirstRow = myFirstCell.name.split(":")[1];
var myLastRow = myLastCell.name.split(":")[1];


for (myCounter=myLastRow; myCounter >= myFirstRow ; myCounter--){

app.selection[0].cells[myCounter].bottomEdgeStrokeColor=myStrokeColor;
app.selection[0].cells[myCounter].bottomEdgeStrokeWeight=myStrokeWeight;
app.selection[0].cells[myCounter].bottomEdgeStrokeType= "Durchgezogen";


}


Irgendwie scheint das nicht in jeder Zelle zu funktionieren. Fehler: Objekt ungültig bei myStrokeColor
Bitte um Hilfe.
Tabelle anbei.

Danke und Gruss
Christoph

Anhang:
Tabellenzellen.idml (27.4 KB)

Tabellenzellen formatieren (CS6, Win)

Kai Rübsamen
Beiträge gesamt: 4684

31. Aug 2013, 12:34
Bewertung:

gelesen: 1083

Beitrag als Lesezeichen
Hallo!

Ich hab die Art, wie Christoph die Zellen auswählt, jetzt schon öfters gesehen. Kann mal einer der erfahrenen Scripter erklären, wann und warum man das so macht?

Ich hätte naiv jetzt einfach folgendes versucht ;-)

Code
var curSel = app.selection[0].cells.everyItem(); 

with (curSel) {
bottomEdgeStrokeColor = "Black";
bottomEdgeStrokeWeight = 0.5;
bottomEdgeStrokeType = "Durchgezogen";
}


Gruß Kai Rübsamen

Tabellenzellen formatieren (CS6, Win)

cwenet
Beiträge gesamt: 1139

31. Aug 2013, 14:48
Bewertung:

gelesen: 1049

Beitrag als Lesezeichen
Hallo Kai,

vielen Dank.
Ich habe mir die Vorgehensweise auch nur abgeschaut.

Dein Vorschlag klappt prima und ist auch einfacher.

Schöne Grüße
Christoph