[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Schleife durch mehrere Tabellen

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

Schleife durch mehrere Tabellen

ToniMontanaa
Beiträge gesamt: 426

21. Aug 2014, 17:04
Beitrag # 1 von 6
Bewertung:
(1726 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Skripter,

ich würde gerne eine Schleife durch mehrere Tabellen machen um damit Spaltenbreiten anzupassen. Es befinden sich immer mehrere Tabellen in einem Textrahmen. Die Klasse Table hat aber keine Eigenschaft length.

Deswegen scheint mein bisheriger Ansatz auch nicht zu funktionieren
Code
var _dok = app.activeDocument; 
var _table = _dok.textFrames[0].tables[0];
for (var i = 0; i < _table.length; i++){
var _tableNEU = _table[i];
_table.columns[2].width = 30;
}



Hat mir da jemand einen Tip wie man das bei Tabellen dann macht?!?
X

Schleife durch mehrere Tabellen

pixxxelschubser
Beiträge gesamt: 1708

21. Aug 2014, 17:22
Beitrag # 2 von 6
Beitrag ID: #531301
Bewertung:
(1711 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
GGG
Zitat for (var i = 0; i < _table.length; i++){



Kleine Freud’sche Fehlleistung.

table hat keine Eigenschaft length – tables aber schon:
Code
var _dok = app.activeDocument;  
var _table = _dok.textFrames[0].tables.length;
alert(_table)



als Antwort auf: [#531300]

Schleife durch mehrere Tabellen

mx
Beiträge gesamt: 161

21. Aug 2014, 17:24
Beitrag # 3 von 6
Beitrag ID: #531303
Bewertung:
(1711 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

lies doch noch mal durch Deinen kurzen Code-Abschnitt und schau, was jetzt in die Variable _table (oder soll die _tables heißen?) geschrieben wird...

Viele Grüße
Jo


als Antwort auf: [#531300]

Schleife durch mehrere Tabellen

ToniMontanaa
Beiträge gesamt: 426

2. Okt 2014, 12:00
Beitrag # 4 von 6
Beitrag ID: #532634
Bewertung:
(1468 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

sorry das ich mich erst jetzt wieder zu diesem Thema melde. Hatte in letzter Zeit einige andere Dinge die Vorrang hatten.

Mit deinem Tip bin ich jetzt zu folgendem Ergebnis gekommen das dann auch funktioniert
Code
var _dok = app.activeDocument; 
var _tables = _dok.textFrames[0].tables;
for (var i = 0; i < _tables.length; i++){
var _table = _tables[i];
_table.columns[2].width = 30;
}


Danke für deine Hilfe.

Ich beschäftige mich jetzt schon seit einiger Zeit mit dem Thema Skripting, habe dazu bereits das Buch InDesign automatisieren von Gregor Fellenz gelesen, aber muß leider gestehen das es gerade beim Thema "Schleifen" immer noch sehr hakt. Die Funktionen von Schleifen und der generelle Aufbau sind mir eigentlich schon klar. Auch wenn ich in einem Skript eine Schleife sehe, verstehe ich diese meist.
Beim erstellen eigener Schleifen hakt es allerdings jedes mal.

Gibt es hier evtl eine Eselsbrücke, einen Trick oder evtl noch Literatur die sich hauptsächlich mit Schleifen beschäftigt?


als Antwort auf: [#531301]

Schleife durch mehrere Tabellen

Uwe Laubender
Beiträge gesamt: 5316

2. Okt 2014, 12:37
Beitrag # 5 von 6
Beitrag ID: #532639
Bewertung:
(1450 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Stefan!

Das geht auch direkt ohne Schleife.
Achtung! Übersatz wird nicht beachtet:

Code
app.activeDocument.textFrames[0].tables.everyItem().columns[2].width = 30; 


Oder, falls Du Übersatz oder die Textrahmen des gesamten Textflusses erwischen willst:

Code
app.activeDocument.textFrames[0].parentStory.tables.everyItem().columns[2].width = 30; 



als Antwort auf: [#532634]

Schleife durch mehrere Tabellen

Martin Fischer
  
Beiträge gesamt: 12783

2. Okt 2014, 13:39
Beitrag # 6 von 6
Beitrag ID: #532646
Bewertung:
(1412 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Toni,

kannst Du etwas genauer sagen, wo es hakt?

Zu Schleifen in JavaScript findest Du über Google viele Hinweise.

Hier eine kleine Auswahl:
Wenz: Javascript, Schleifen
droeppez.de: JavaScript – Schleifen
w3schools.com: JavaScript For Loop / w3schools.com: JavaScript While Loop


als Antwort auf: [#532634]
X