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

需求:Google Sheets脚本阻止单元格删除,允许编辑及内容清除

解决方案:阻止Google Sheets单元格删除,保留编辑与清除权限

我帮你梳理了一套完美适配需求的方案——通过Google Apps Script结合工作表保护,既能禁止用户误删单元格破坏条件格式,又能保留正常输入数据和执行清除脚本的权限,具体步骤如下:

核心思路

我们要给「INT QC」工作表设置结构保护:锁定单元格的存在(禁止删除、插入行/列等结构修改),但开放指定区域(A2:A9660)允许用户输入数据;同时确保你的现有清除脚本能绕过保护正常执行。


步骤1:添加保护设置脚本

这个脚本会自动给工作表配置保护规则,每次打开表格时都会生效:

function setupSheetProtection() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('INT QC');
  
  // 先移除旧的保护规则(避免重复设置)
  const existingProtections = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET);
  existingProtections.forEach(protection => protection.remove());
  
  // 创建新的工作表级保护,说明用途
  const sheetProtection = sheet.protect().setDescription('锁定单元格结构,仅允许编辑A2:A9660');
  
  // 设置可编辑区域:用户输入数据的A2:A9660
  const editableRange = sheet.getRange('A2:A9660');
  sheetProtection.setUnprotectedRanges([editableRange]);
  
  // 配置权限:禁止普通用户修改结构,仅开放可编辑区域的内容编辑
  const scriptOwner = Session.getEffectiveUser();
  sheetProtection.addEditor(scriptOwner);
  sheetProtection.removeEditors(sheetProtection.getEditors());
  if (sheetProtection.canDomainEdit()) {
    sheetProtection.setDomainEdit(false);
  }
  
  // 关键:确保脚本可以绕过保护执行清除操作
  sheetProtection.setWarningOnly(false);
}

// 每次打开表格自动应用保护
function onOpen() {
  setupSheetProtection();
  // 给用户一个友好提示
  SpreadsheetApp.getUi().alert('提示:「INT QC」工作表的单元格删除操作已被禁止,你可以正常输入数据或使用清除功能。');
}

步骤2:保留你的现有清除脚本

你的ClearCells1脚本不需要修改——因为保护规则是由脚本所有者(部署脚本的人)创建的,脚本运行时会以所有者权限执行,完全可以绕过保护清除内容:

function ClearCells1() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('INT QC');
  sheet.getRange('A2:A9660').clearContent();
}

关键说明

  • 权限授权:首次运行脚本时,需要由表格的管理员/拥有者授权脚本的权限(按照提示完成即可)。
  • 保护效果:用户只能在A2:A9660输入数据,无法删除任何单元格、插入/删除行/列,彻底避免条件格式被破坏。
  • 灵活性:如果以后需要调整可编辑区域,只需修改setupSheetProtection里的editableRange范围即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:55:16