You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google文档脚本开发:在指定文本后插入带复选框标题与可展开项目符号列表的模板内容

Google文档脚本开发:在指定文本后插入带复选框标题与可展开项目符号列表的模板内容

看起来你已经搭好了格式的基础框架,核心痛点就是精准定位到「New Items:」之后插入内容,同时实现带复选框的标题+可折叠项目符号列表的组合格式对吧?我帮你调整了脚本,完全匹配你要的效果,咱们来一步步拆解:

完整修改后的脚本

function insertTemplateAfterNewItems() {
  // 1. 定义格式样式
  const headerFormat = {
    BOLD: true,
    BACKGROUND_COLOR: "#000000",
    FOREGROUND_COLOR: "#FFFFFF"
  };
  
  // 2. 模板文本内容
  const headerText = "Enter_Item_Title_Here";
  const bulletItems = [
    "Agenda Item Owner(s): ___________",
    "Discussant: ___________",
    "Discussion Date: ___________",
    "External follow up: ___________",
    "Notes: ___________",
    "Action Items: ___________"
  ];

  // 3. 获取文档主体和目标文本位置
  const doc = DocumentApp.getActiveDocument();
  const body = doc.getBody();
  const targetText = "New Items:";
  const findResult = body.findText(targetText);

  if (!findResult) {
    DocumentApp.getUi().alert("未找到「New Items:」文本,请检查文档内容!");
    return;
  }

  // 4. 确定插入位置:目标段落的下一行
  const targetParagraph = findResult.getElement().getParent().asParagraph();
  const insertIndex = body.getChildIndex(targetParagraph) + 1;

  // 5. 插入带复选框的格式化标题
  const headerPara = body.insertParagraph(insertIndex, headerText);
  headerPara.setHeading(DocumentApp.ParagraphHeading.HEADING3);
  headerPara.setGlyphType(DocumentApp.GlyphType.CHECKBOX); // 开启复选框,勾选后自动添加删除线
  headerPara.setTextAttributes(headerFormat); // 应用黑底白字加粗格式

  // 6. 插入可折叠的项目符号列表(作为标题的子项)
  bulletItems.forEach(itemText => {
    const bulletPara = body.insertParagraph(insertIndex + 1, itemText);
    bulletPara.setGlyphType(DocumentApp.GlyphType.BULLET);
    bulletPara.setNestingLevel(1); // 设置为标题的子层级,自动支持展开/折叠
    insertIndex++; // 每次插入后更新索引,保持列表顺序
  });

  // 可选:自动折叠新插入的列表(默认是展开状态,如需默认折叠可取消注释)
  // headerPara.setCollapsed(true);
}

关键改动说明

  1. 精准定位插入点

    • 用body.findText()快速定位「New Items:」的位置,再通过getChildIndex获取目标段落的索引,把插入位置设为索引+1,确保内容刚好出现在目标文本下方。
    • 加入了找不到目标文本的判断,弹出提示框避免脚本无意义执行。
  2. 带复选框的标题实现

    • 给标题段落设置setGlyphType(DocumentApp.GlyphType.CHECKBOX),让标题自动带上复选框,勾选后Google Docs会自动添加删除线效果,完全匹配你要的交互。
    • 用setTextAttributes()一次性给整个标题应用黑底白字加粗格式,比逐字符设置更高效简洁。
  3. 可展开/折叠的项目符号列表

    • 通过setNestingLevel(1)把所有项目符号设置为标题段落的子层级,Google Docs会自动识别为可折叠列表,点击标题前的箭头就能自由展开/折叠内容。
    • 把项目符号文本整理成数组,用循环生成,后续要新增项目直接在数组里添加就行,代码更易维护。

你可以把这个脚本替换到你的示例文档里测试,完全实现你要的效果:带复选框的黑底白字标题,下面是可展开的项目符号,所有内容精准出现在「New Items:」之后~

备注:内容来源于stack exchange,提问作者Marc Golas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 18:23:04