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

合并Google Apps Script:复制Slides模板并从Sheets自动填充数据

合并Google Apps Script实现复制模板并填充数据的完整函数

直接将两个步骤整合为一个函数,核心是复制模板后立即获取新演示文稿的ID,再执行占位符替换操作,完整代码如下:

function copyAndFillTemplate() {
  // 替换为你的模板演示文稿ID
  const templateId = '<ID OF MY TEMPLATE DECK>';
  
  // 步骤1:从Generate工作表获取数据并复制模板
  const generateSheet = SpreadsheetApp.getActive().getSheetByName('Generate');
  const generateData = generateSheet.getDataRange().getValues();
  const wbrDate = generateData[1][0];
  
  // 复制模板并获取新文件对象
  const newPresentationFile = DriveApp.getFileById(templateId).makeCopy(`WBR - ${wbrDate}`);
  const newPresentationId = newPresentationFile.getId();
  
  // 步骤2:从Data工作表获取数据并替换占位符
  const presentation = SlidesApp.openById(newPresentationId);
  const dataSheet = SpreadsheetApp.getActive().getSheetByName('Data');
  const dataValues = dataSheet.getDataRange().getValues();
  
  dataValues.forEach(row => {
    const templateVariable = row[0];
    const templateValue = row[1];
    presentation.replaceAllText(templateVariable, templateValue);
  });
  
  // 可选:提示操作完成
  SpreadsheetApp.getUi().alert('演示文稿已复制并填充完成!');
}

关键说明

  • 移除了原代码中需要手动填写新文稿ID的步骤,通过makeCopy()返回的文件对象直接获取ID,保证流程自动化
  • 保留了你原有的工作表数据读取逻辑,兼容Generate和Data工作表的结构
  • 新增了可选的完成提示,方便确认操作结果
  • 注意将<ID OF MY TEMPLATE DECK>替换为你实际的模板演示文稿ID

内容的提问来源于stack exchange,提问作者coffee709

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:52:47