gpt4 book ai didi

google-apps-script - 如何使用 onEdit 事件返回已编辑单元格的范围?

转载 作者:行者123 更新时间:2023-12-01 01:14:14 27 4
gpt4 key购买 nike

这看起来应该很容易,但我似乎无法让我的任何小测试实现工作。最终目标是创建一个仅在编辑特定范围内的单元格时运行的函数。为了实现这一点,我创建了一个在每次编辑时运行的函数,但首先检查编辑单元格的范围是否在某个范围内,如果为真,则仅执行其余代码,否则,它只是立即结束。

在我看来,这样做的第一步是找出如何返回已编辑单元格的范围。我尝试了各种测试。

这是当前版本,我通过编辑电子表格进行测试:

function onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var eRange = e.range;
var message = eRange.getA1Notation();
ss.toast(message);
}

(输出:toast 没有出现/什么也没有发生)

我在这里发布了大约 10 个其他版本,但我意识到它没有帮助。

我已经设法在我的 toast 消息中返回 [object Object] 和 [undefined],所以我知道我的 toast 函数没有犯一些愚蠢的错误。

e.range 不返回一个范围吗?那是我出错的地方吗?如果它返回一个范围,我是否应该能够使用范围内的任何方法,就像我使用了类似“ss.getRange(“A1”).someMethod()”的方法一样?或者有什么我不明白的区别?

好的,我意识到我在这里问了几个不同的问题——我只是想更清楚地说明我的思考过程,以防它帮助你纠正我的错误。一个简单的问题是:我可以使用什么样的命令或方法来返回已编辑单元格的范围?

很抱歉问这么基本的问题。我真的很害怕有人会输入正确的搜索词组合,而答案会出现在结果的顶部......但我似乎无法自己找到它,所以我来了。我已经尝试了 StackOverflow 和旧的 Google Groups 支持论坛中的大量代码片段,以及我自己的很多尝试。我看到人们在这里问了很多关于我的最终目标的类似问题——只有在编辑特定范围内的单元格时才运行 onEdit 函数——但答案都更复杂,似乎是针对每种情况量身定制的,但他们没有不适合我的。我确信答案就在那里,但我现在已经连续三个晚上都在寻找,发现有很多类似的问题被问到,但似乎无法让我自己实现这些建议。感谢您对我的耐心,非常感谢您提供的任何答案!

最佳答案

这是采用的代码(并稍作修改)from the doc :

function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = event.source.getActiveSheet();
var r = event.source.getActiveRange();
r.setComment("Last modified: " + (new Date())+' by '+Session.getActiveUser());
ss.toast('Last cell modified = '+r.getA1Notation()+' by '+Session.getActiveUser());
}

关于google-apps-script - 如何使用 onEdit 事件返回已编辑单元格的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com