You must be logged in to post Login

Search Forums:


 






Can anyone modified the script for table style

UserPost

9:25 pm
October 19, 2011


erwan

Community Member

posts 9

Post edited 9:29 pm – October 19, 2011 by erwan


This is the script for change all table into tablestyle

// applyTableStyles.jsx   
//DESCRIPTION: Weist allen Tabellen eines Dokuments ein ausgewähltes Tabellenformat zu und übernimmt aus dem Tabellenformat die Formate für die Körperzellen.   
// Martin Fischer  
// 10/2008; erweitert 11/2009
   
var d = app.activeDocument;   
var myTableStyle = myDisplayDialog ();   
   
// ——————————————————–   
// Tabellenformat zuweisen   
// ——————————————————–   
d.stories.everyItem().tables.everyItem().appliedTableStyle = myTableStyle;   
   
// Abweichungen vom Tabellenformat löschen   
d.stories.everyItem().tables.everyItem().clearTableStyleOverrides( true );   
   
   
// ——————————————————–   
// Zellenformate aus Tabellenformat zuweisen   
// ——————————————————–   
// 1. Tabellenkörperzeilen   
d.stories.everyItem().tables.everyItem().cells.everyItem().appliedCellStyle = myTableStyle.bodyRegionCellStyle;   
   
// 2. Linke Spalte   
d.stories.everyItem().tables.everyItem().columns[0].cells.everyItem().appliedCellStyle = myTableStyle.leftColumnRegionCellStyle;   
   
// 3. Rechte Spalte   
d.stories.everyItem().tables.everyItem().columns[-1].cells.everyItem().appliedCellStyle = myTableStyle.rightColumnRegionCellStyle;   
 
// 4. Header
d.stories.everyItem().tables.everyItem().headerRowCount[-1].cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;  

// 5. Kopf- und Fußzeilen
for ( var s = 0; s < d.stories.count(); s++ )  
{
    for ( var t = 0; t < d.stories.item(s).tables.count(); t++ )  
    {
        if (d.stories.item(s).tables.item(t).headerRowCount > 0)
            d.stories.item(s).tables.item(t).rows.itemByRange(0, d.stories.item(s).tables.item(t).headerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.headerRegionCellStyle;  
        if (d.stories.item(s).tables.item(t).footerRowCount > 0)
            d.stories.item(s).tables.item(t).rows.itemByRange(0, d.stories.item(s).tables.item(t).footerRowCount-1).cells.everyItem().appliedCellStyle = myTableStyle.footerRegionCellStyle;  
    }
 
}
 
   
// Abweichungen vom Zellenformat löschen   
d.stories.everyItem().tables.everyItem().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;    
}  


I have tried and successed, but unfortunately my first row is not styled as headerregion row. What I need the script do is convert all first row into Header, and the last row is footerregion row


Any answer would be greatly appreciated

Thanks in advance