如何从DocumentApp中的getParagraph()中排除表单元格段落,应用程序脚本



我需要从谷歌文档中获取所有段落。为此,我使用body.getParagraphs()。问题是,在任何文档中,如果存在任何表,body.getParagraphs()方法将所有表单元格作为段落,并作为段落返回。现在,我想要的是只从文档中获取所有段落,并从中排除表和表单元格。我怎样才能做到这一点?

谢谢!

我相信你的目标如下。

  • 您希望使用Google Apps脚本检索除表格单元格之外的段落

在这种情况下,检查元素类型如何?当这反映到脚本中时,它会变成如下所示。

示例脚本:

请将以下脚本复制并粘贴到谷歌文档的脚本编辑器中。

function myFunction() {
  const doc = DocumentApp.getActiveDocument();
  const body = doc.getBody();
  const paragraphs = body.getParagraphs();
  
  const res = paragraphs.filter(p => p.getParent().getType() != DocumentApp.ElementType.TABLE_CELL);
  
  // do something
}
  • 在此示例脚本中,paragraphs的值包括表单元格的段落
  • 通过过滤元素类型,res只能具有除表单元格之外的段落

参考文献:

类段落的getParent((
  • getType((
  • 最新更新