// applyTableStyle2selectedTable.jsx //DESCRIPTION: Weist der ausgewählten Tabelle ein ausgewähltes Tabellenformat zu und übernimmt aus dem Tabellenformat die Formate für die Körperzellen. if (app.selection.length == 0) exit(); var d = app.activeDocument; var myTableStyle = myDisplayDialog (); if (myTableStyle == null) exit(); var t = get_table(app.selection[0]); if (t == null) exit(); // -------------------------------------------------------- // Tabellenformat zuweisen // -------------------------------------------------------- t.appliedTableStyle = myTableStyle; // Abweichungen vom Tabellenformat löschen t.clearTableStyleOverrides( true ); // -------------------------------------------------------- // Zellenformate aus Tabellenformat zuweisen // -------------------------------------------------------- // 1. Tabellenkörperzeilen t.cells.everyItem().appliedCellStyle = myTableStyle.bodyRegionCellStyle; // 2. Linke Spalte if (myTableStyle.leftColumnRegionCellStyle != null) t.columns[0].cells.everyItem().appliedCellStyle = myTableStyle.leftColumnRegionCellStyle; // 3. Rechte Spalte if (myTableStyle.rightColumnRegionCellStyle != null) t.columns[-1].cells.everyItem().appliedCellStyle = myTableStyle.rightColumnRegionCellStyle; // 4. Kopf- und Fußzeilen if (myTableStyle.headerRegionCellStyle != null && t.headerRowCount > 0) t.rows.itemByRange(0, t.headerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle; if (myTableStyle.footerRegionCellStyle != null && t.footerRowCount > 0) { var r_len = t.rows.length; t.rows.itemByRange(r_len - t.footerRowCount, r_len -1).cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle; } // Abweichungen vom Zellenformat löschen t.cells.everyItem().clearCellStyleOverrides( true ); // Dialog zum Erfassen des Tabellenstils function myDisplayDialog(){ var myDialog = app.dialogs.add({name:"Auswahl Tabellenstil"}); with(myDialog.dialogColumns.add()){ var myTsDropDown = dropdowns.add({stringList: d.tableStyles.everyItem().name, selectedIndex:d.tableStyles.length-1}); } var myResult = myDialog.show(); if(myResult == true){ var tS = d.tableStyles[myTsDropDown.selectedIndex]; myDialog.destroy(); } else{ myDialog.destroy(); exit() } return tS; } //----------------------------------------------------------------- // Tabelle einer Auswahl innerhalb der Tabelle ermitteln //----------------------------------------------------------------- function get_table(_obj) { var t = _obj; if (t.hasOwnProperty('baseline') && t.parent.parent.constructor.name == 'Table') t = t.parent.parent; else if (t.constructor.name == 'Cell') t = t.parent; else if (t.constructor.name != 'Table') t = null return t; }
| 24.11.2023