如何让Google Apps Script的deleteColumns函数粘贴数据时自动触发?
实现粘贴数据时自动触发列删除脚本
要让你的deleteColumns脚本在向「raw Data」工作表粘贴数据时自动运行,需要借助Google Sheets的安装型更改触发器,具体步骤如下:
1. 更新脚本代码
保留原有的列删除逻辑,新增一个触发判断函数,完整代码如下:
function deleteColumns() { var sh1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("raw Data"); sh1.deleteColumn(1); sh1.deleteColumn(3); sh1.deleteColumns(4, 3); sh1.deleteColumns(8, 7); } function onTriggeredDelete(e) { // 仅当操作是编辑(包含粘贴)且目标工作表为「raw Data」时执行删除 if (e.changeType === "EDIT" && SpreadsheetApp.getActiveSheet().getName() === "raw Data") { deleteColumns(); } }
2. 创建安装型触发器
触发器需要手动配置,步骤如下:
- 打开Google Sheets,点击顶部菜单栏的「工具」>「脚本编辑器」
- 点击左侧工具栏的「触发器」图标(闹钟样式)
- 点击页面右下角的「添加触发器」
- 在配置面板中设置:
- 选择要运行的函数:
onTriggeredDelete - 选择事件源:从电子表格中
- 选择事件类型:更改
- 选择要运行的函数:
- 点击「保存」,按照提示完成权限授权即可。
配置完成后,只要你向「raw Data」工作表粘贴数据(或进行其他编辑操作),脚本就会自动执行列删除操作。
内容的提问来源于stack exchange,提问作者Dice 0ne
相关产品推荐
相关产品推荐

