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

求助:用Google Apps Script创建可粘贴带格式模板的按钮

实现Google Sheets模板前置粘贴的脚本方案

核心脚本代码

以下脚本可自动完成模板复制到表格开头、现有内容右移(自动新增列),同时完整保留合并单元格、公式、数据验证与格式:

function prependTemplate() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  // 替换为你的模板实际范围,比如模板在当前表的A1:D160就用这个写法
  const templateRange = sheet.getRange("A1:D160");
  const templateCols = templateRange.getNumColumns();
  const totalExistingCols = sheet.getLastColumn();

  // 1. 将现有内容向右移动,腾出模板位置
  if (totalExistingCols > 0) {
    const existingRange = sheet.getRange(1, 1, sheet.getMaxRows(), totalExistingCols);
    existingRange.moveTo(sheet.getRange(1, templateCols + 1));
  }

  // 2. 完整复制模板到开头位置
  templateRange.copyTo(sheet.getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_ALL, false);
}

关键说明

  • 模板范围指定:把templateRange中的"A1:D160"替换为你实际的模板单元格范围,确保覆盖全部4列160行内容。
  • 复制完整性:PASTE_ALL参数会完整复制合并单元格、公式、数据验证及视觉格式,与源模板完全一致。
  • 自动列创建:moveTo方法会自动生成所需新列,无需手动操作。

添加按钮步骤

  1. 打开Google Sheets,点击顶部菜单「扩展程序」→「Apps Script」,粘贴上述代码后保存。
  2. 返回表格,点击「插入」→「绘图」,绘制一个带文字的按钮(如矩形+“新增模板”),保存后关闭绘图窗口。
  3. 点击插入的绘图按钮,选择「分配脚本」,输入函数名prependTemplate,确认即可。

手动新增列的备选方案

若偏好手动新增列,可注释掉脚本中的内容移动部分,手动在表格开头插入4列空列后运行以下脚本:

function pasteTemplateToEmptyStart() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const templateRange = sheet.getRange("A1:D160");
  // 直接粘贴到已准备好的开头空列
  templateRange.copyTo(sheet.getRange(1, 1), SpreadsheetApp.CopyPasteType.PASTE_ALL, false);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:57:15