有条件地将段落样式应用于表格中的文本

时间:2019-06-26 07:59:26

标签: adobe-indesign

我有这个有效的代码:

var myTable = app.activeDocument.stories.everyItem().tables.everyItem().getElements();  

for(i=0; i<myTable.length; i++) {  
  myTable[i].cells[0].insertionPoints[0].appliedParagraphStyle = app.activeDocument.paragraphStyleGroups.item("Wycena").paragraphStyles.item("Nazwa A. Numeracja2"); 
}

此代码将一个段落样式应用于表中的所有行,但是我需要的是:

  • 如果我将以 开头的项目符号()粘贴到表格中,则应用“段落样式1”
  • 如果我将不是 以项目符号(开头的文本粘贴到表格中,则应用“段落样式2”
  • >

我认为我需要在某处if声明,但我无法解决。

1 个答案:

答案 0 :(得分:0)

您可以将段落样式2应用于所有文本,然后运行脚本以仅格式化带有项目符号的文本:

var myDocument = app.documents.item(0);    
var allCells = myDocument.stories.everyItem().tables.everyItem().cells.everyItem().getElements();  
for ( var i = 0; i < allCells.length; i++)  
{  

if ( allCells[i].contents.indexOf('•') > -1)  
{  
    allCells[i].appliedCellStyle = 'Paragraph Style 1';  
    allCells[i].clearCellStyleOverrides();  
 }  
}

您可以将“•”更改为需要特定格式的任何其他文本,该单元格将进行相应的格式化。