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

使用Office Scripts实现Excel工作表解锁、插入行及重新保护

使用Office Scripts实现带密码保护的行插入功能

直接给你能运行的完整脚本,替换密码就能用:

function main(workbook: ExcelScript.Workbook) {
  // 替换成你的工作表保护密码
  const password = "yourPasswordHere";
  const activeSheet = workbook.getActiveWorksheet();

  // 解锁工作表
  activeSheet.unprotect(password);

  // 在活动单元格所在行上方插入一行
  const activeCell = workbook.getActiveCell();
  if (activeCell) {
    const rowIndex = activeCell.getRowIndex();
    // 插入和已用列同宽的行,避免格式问题
    activeSheet.getRangeByIndexes(rowIndex, 0, 1, activeSheet.getUsedRange().getColumnCount()).insert(ExcelScript.InsertShiftDirection.down);
  }

  // 重新保护工作表,启用指定权限
  activeSheet.protect(password, {
    allowAutoFilter: true,
    allowPivotTables: true,
    allowSelectLockedCells: true,
    allowSelectUnlockedCells: true
  });
}

关键部分说明

  • 密码替换:把代码里的"yourPasswordHere"改成你实际用的保护密码,注意大小写和符号要完全匹配。
  • 解锁逻辑:unprotect()方法对应VBA里的Unprotect,传入密码直接解除保护。
  • 插入行:先拿到当前选中的活动单元格,获取它的行号,然后插入一行——这里特意用getRangeByIndexes确保插入的行覆盖整个已用列范围,防止只插入单个单元格的情况。
  • 重新保护:protect()的第二个参数是权限配置对象,你要的四个功能都直接设为true,对应VBA里保护时勾选的选项。

使用步骤

  1. 打开Excel网页版和目标工作簿;
  2. 点顶部的「自动化」→「新建脚本」;
  3. 删掉默认的示例代码,粘贴上面的脚本,改好密码;
  4. 点「运行」就完成操作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:12:08