复制粘贴不工作在onEdit功能在谷歌应用程序脚本



我有一个谷歌应用程序脚本,需要返回对电子表格所做的更改,并返回到slack。每当在文件上的电子表格内进行复制粘贴时,脚本就会失败(要么将多行或多列复制在一起,要么将单个条目复制在一起),两者都无法工作。这是我当前的脚本:——

**var url ="Slack Webhook URL";
function sendSlackNotification(e) {
var newValue = e.value; 
var oldValue = e.oldValue; 
var user = e.user; 
var row = e.range.getRow();  
var spreadsheetName = SpreadsheetApp.getActiveSheet().getName();
var payload = {
'text' : user + " just changed from oldValue : '" + oldValue + "' to newValue : '" + newValue  + "' at row : '" + row + "' in the following Sheet : " + spreadsheetName +" :grimacing:"
};
var params = {
'method' : 'post',
'contentType' : 'application/json',
'payload' : JSON.stringify(payload)
};

return UrlFetchApp.fetch(url, params)
}**

在电子表格中执行onEdit功能时需要修复复制粘贴功能

当使用onEdit触发器时,valueoldValue只出现在单个单元格上;尝试在你的函数中添加Logger.log(JSON.stringify(e)),并检查你的执行日志,看看事件对象的结构是什么样子的。

你很可能要修改你的功能来检查range.columnStart/range.columnEndrange.rowStart/range.rowEnd是否相等,以确定它是一个正在编辑的范围还是一个单元格,并从那里取。

最新更新