如何通过Google Docs的Apps Script插件编程增删改Variable Smart Chips
如何通过Google Apps Script编程操作Google Docs中的变量智能芯片(Variable Smart Chips)
Google Docs的变量智能芯片是2023年6月Google Workspace推出的功能,支持在文档中插入可复用的动态变量。以下是通过Apps Script实现添加、编辑、删除该芯片的具体方法:
一、添加变量智能芯片
通过insertVariableChip()方法可在指定段落位置插入变量芯片,需指定唯一的变量ID和显示名称:
function addVariableSmartChip() { const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); // 定义变量唯一ID和显示名称 const variableId = "employee_name"; const variableName = "员工姓名"; // 在文档末尾插入新段落并添加变量芯片 const paragraph = body.appendParagraph(""); paragraph.insertVariableChip(0, variableId, variableName); // 可选:在指定段落的末尾插入芯片 // const targetPara = body.getParagraphs()[0]; // targetPara.insertVariableChip(targetPara.getText().length, variableId, variableName); }
二、编辑变量智能芯片
遍历文档元素找到目标芯片后,可修改其显示名称或变量ID:
function editVariableSmartChip() { const doc = DocumentApp.getActiveDocument(); const elements = doc.getBody().getDescendants(); for (let i = 0; i < elements.length; i++) { const element = elements[i]; if (element.getType() === DocumentApp.ElementType.VARIABLE_CHIP) { const chip = element.asVariableChip(); // 通过变量ID定位目标芯片 if (chip.getVariableId() === "employee_name") { // 修改芯片显示名称 chip.setVariableName("员工全名"); // 可选:修改变量ID(需保证新ID唯一) // chip.setVariableId("employee_full_name"); break; } } } }
三、删除变量智能芯片
倒序遍历文档元素(避免索引混乱),找到目标芯片后移除:
function deleteVariableSmartChip() { const doc = DocumentApp.getActiveDocument(); const elements = doc.getBody().getDescendants(); for (let i = elements.length - 1; i >= 0; i--) { const element = elements[i]; if (element.getType() === DocumentApp.ElementType.VARIABLE_CHIP) { const chip = element.asVariableChip(); if (chip.getVariableId() === "employee_name") { chip.removeFromParent(); break; } } } }
注意事项
- 变量ID需全局唯一,避免不同芯片出现冲突;
- 执行脚本前需确保账号拥有目标文档的编辑权限;
- 该功能仅对2023年6月后启用的Google Workspace账号开放。
内容的提问来源于stack exchange,提问作者Sarath Bade
相关产品推荐
相关产品推荐

