首页 > 解决方案 > 用户制作副本时如何触发 Google Apps 脚本

问题描述

当有人创建该 g-sheet 的副本时,我想从工作表中清除一些范围内容。

如何制作“创建副本”菜单项,触发脚本?

在此处输入图像描述

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


我禁用了“制作副本”菜单项并仅通过脚本允许它。

function makeACopy() {
  clearRange("A1:A100");
  var documentId = DriveApp.getFileById('FileId').makeCopy().getId();
  DriveApp.getFileById(documentId).setName('PT generator' + new Date() );
};

function clearRange(rangeToClear) {
    const sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
    const formulas = sheet.getRange(rangeToClear).getFormulas();

    sheet.getRange(rangeToClear).clear({
        contentsOnly: true,
        skipFilteredRows: false
    });
    sheet.getRange(rangeToClear).setFormulas(formulas)
};

推荐阅读