Hallo Kirsten!
Ich habe vor langer Zeit ein universelles Tabellenskript geschrieben:
Code // Tabelle formatieren.jsx // Hier handelt es sich um ein universelles Tabellenscript, welches für verschiedenste Zwecke verwendet werden kann if (app.documents.length == 0) { alert("Kein Dokument geöffnet"); exit(); } var myDoc = app.documents[0]; // Grundeinstellungen Anfang (die Werte nach dem =-Zeichen können individuell verändert werden) var myHeight = 2; // Mindesthöhe in mm var myTopInset = 1; // Zellenabstand oben in mm var myBottomInset = 1; // Zellenabstand unten in mm var myLeftInset = 1; // Zellenabstand links in mm var myRightInset = 1; // Zellenabstand rechts in mm var myHeaderTopInset = 1; // Zellenabstand oben in mm im Tabellenkopf var myHeaderBottomInset = 1; // Zellenabstand unten in mm im Tabellenkopf var myHeaderLeftInset = 1; // Zellenabstand links in mm im Tabellenkopf var myHeaderRightInset = 1; // Zellenabstand rechts in mm im Tabellenkopf var myFooterTopInset = 1; // Zellenabstand oben in mm im Tabellenfuß var myFooterBottomInset = 1; // Zellenabstand unten in mm im Tabellenfuß var myFooterLeftInset = 1; // Zellenabstand links in mm im Tabellenfuß var myFooterRightInset = 1; // Zellenabstand rechts in mm im Tabellenfuß var myInnerRowStrokeWeight = 0.4; // Linienstärke waagrecht innen in pt var myInnerColumnStrokeWeight = 0.4; // Linienstärke senkrecht innen in pt var myInnerColumnHeadStrokeWeight = 0.4; // Linienstärke senkrecht innen im Tabellenkopf in pt var myBorderStrokeWeight = 0.4; // Linienstärke außen in pt var myStrokeType = "Durchgezogen"; // Linientyp var myStrokeColorName = "Black"; // Linienfarbe (Achtung: [Schwarz] ist eine nicht löschbare Standardfarbe und heißt intern "Black" // Absatzformate sind insofern problematisch, weil dadurch manuelle Formatierungen verloren gehen, // für diesen Zwecke sollte man vorher das Skript "Zeichenformate generieren" anwenden var myParagraphStyleName = "Tabellentext"; // Absatzformat für Text in den Tabellenkörperzellen var myHeaderParagraphStyleName = "Tabellenkopftext"; // Absatzformat für Text in den Tabellenkopfzellen var myFooterParagraphStyleName = "Tabellenfußtext"; // Absatzformat für Text in den Tabellenfußzellen // Grundeinstellungen Ende // Falls weitere Attribute benötigt werden (z.B. Zeichenformate, Zellverbindungen, Farbunterlegungen, // bestimmte Spaltenbreiten etc.), kann das Skript erweitert werden bzw. ein individuelles Skript geschrieben werden. // Farbe vorhanden? try{ myStrokeColor=myDoc.swatches.item(myStrokeColorName); myStrokeColor.name; } catch (myError){ alert("Farbe '" + myStrokeColorName + "' nicht vorhanden, bitte definieren"); exit(); } // Etwas ausgewählt? if (app.selection.length == 0) { alert("Nichts ausgewählt! Cursor bitte in eine Tabelle einfügen!"); exit(); } var mySelection = app.selection[0]; // Abfrage der Auswahl (Cursor innerhalb einer Tabelle? if (mySelection.constructor.name == "Table") { var myTable = mySelection; } else if (mySelection.parent.constructor.name == "Table") { var myTable = mySelection.parent; } else if (mySelection.parent.parent.constructor.name == "Table") { var myTable = mySelection.parent.parent; } else { alert ("Cursor bitte in eine Tabelle einfügen!"); exit(); } var theResult = (myDisplayDialog()); var myNumberHeadRows = (theResult[0]-1); var myNumberFooterRows = (theResult[1]-1); var myNumberRows = myTable.rows.length-1; var myFirstFooterRow = myNumberRows - myNumberFooterRows; var myCells = myTable.cells.everyItem(); // Definition für Zellen, Spalten, letzte Reihe, erste Spalte, Kopfzellen var myColumns = myTable.columns.everyItem(); var myRows = myTable.rows.everyItem(); try{ var myParagraphStyle=myDoc.paragraphStyles.item(myParagraphStyleName); myParagraphStyle.name; myCells.texts[0].applyParagraphStyle (myParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden } catch (myError){ } with (myColumns) { // Spaltenattribute zuweisen autoGrow = true; height = myHeight; topInset = myTopInset; bottomInset = myBottomInset; leftInset = myLeftInset; rightInset = myRightInset; topEdgeStrokeColor = myStrokeColor; bottomEdgeStrokeColor = myStrokeColor; innerRowStrokeColor = myStrokeColor; topEdgeStrokeWeight = myBorderStrokeWeight; bottomEdgeStrokeWeight = myBorderStrokeWeight; innerRowStrokeWeight = myInnerRowStrokeWeight; topEdgeStrokeType = myStrokeType; bottomEdgeStrokeType = myStrokeType; innerRowStrokeType = myStrokeType; } with (myRows) { // Reihenattribute zuweisen leftEdgeStrokeColor = myStrokeColor; rightEdgeStrokeColor = myStrokeColor; innerColumnStrokeColor = myStrokeColor; leftEdgeStrokeWeight = myBorderStrokeWeight; rightEdgeStrokeWeight = myBorderStrokeWeight; innerColumnStrokeWeight = myInnerColumnStrokeWeight; leftEdgeStrokeType = myStrokeType; rightEdgeStrokeType = myStrokeType; innerColumnStrokeType = myStrokeType; } if (myNumberHeadRows >= 0) { // Tabellenkopf, falls benötigt var myHeadRows = myTable.rows.itemByRange(0,myNumberHeadRows); try{ var myHeaderParagraphStyle=myDoc.paragraphStyles.item(myHeaderParagraphStyleName); myHeaderParagraphStyle.name; myHeadRows.cells.everyItem().texts[0].applyParagraphStyle (myHeaderParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden } catch (myError){ } with (myHeadRows) { // Zeilenattribute für Kopfzeilen zuweisen innerColumnStrokeWeight = myInnerColumnHeadStrokeWeight; topInset = myHeaderTopInset; bottomInset = myHeaderBottomInset; leftInset = myHeaderLeftInset; rightInset = myHeaderRightInset; } try { myHeadRows.rowType = RowTypes.headerRow; } catch (myError){ alert("Die gewünschten Kopfzellen konnten nicht in Tabellenkopfzellen umgewandelt werden, bitte manuell umwandeln!"); } } if (myNumberFooterRows >= 0) { // Tabellenfuß, falls benötigt var myFooterRows = myTable.rows.itemByRange(myFirstFooterRow,myNumberRows); try{ var myFooterParagraphStyle=myDoc.paragraphStyles.item(myFooterParagraphStyleName); myFooterParagraphStyle.name; myFooterRows.cells.everyItem().texts[0].applyParagraphStyle (myFooterParagraphStyle, false); // Absatzformat zuweisen, falls vorhanden } catch (myError){ } with (myFooterRows) { // Zeilenattribute für Fußzeilen zuweisen topInset = myFooterTopInset; bottomInset = myFooterBottomInset; leftInset = myFooterLeftInset; rightInset = myFooterRightInset; } try { myFooterRows.rowType = RowTypes.footerRow; } catch (myError){ alert("Die gewünschten Fußzellen konnten nicht in Tabellenfußzellen umgewandelt werden, bitte manuell umwandeln!"); } } function myDisplayDialog(){ var myDialog = app.dialogs.add({name:"Tabelle formatieren:"}); with(myDialog.dialogColumns.add()){ staticTexts.add({staticLabel:"Kopfzeilen:"}); staticTexts.add({staticLabel:"Fußzeilen:"}); } with(myDialog.dialogColumns.add()){ var myDataBox1= integerEditboxes.add({editValue:0}); var myDataBox2= integerEditboxes.add({editValue:0}); } var myResult = myDialog.show(); if(myResult == true){ var myData1 = myDataBox1.editValue; var myData2 = myDataBox2.editValue; myDialog.destroy(); } else{ myDialog.destroy(); } return [myData1, myData2]; } Im oberen Block kannst du die gewünschte Mindesthöhe, Zellenabstände usw. definieren.
Alles, was du nicht brauchst, kannst du ja aus dem Skript entfernen.
Gruß, Peter